ThinkPHP

快速生成模块admin

php think build --module admin         //在cmd命令行tp框架有build的目录下,注意环境变量问题win10,win7用;(分号隔开)

ThinkPHP

 

生成数据模型链接数据库User(在目录tp框架下)

php think make:model User

模型model

class User extends Model
{
    //5.1中模型不会自动获取主键名称,必须设置pk属性
    protected $pk = 'id';

    //设置当前模型对应的完整数据表名称
    protected $table = 'think_user';

}

 

生成控制器controller

cmd命令行内:php think make:controller admin/UserController
生成application/admin/controller/UserController

---------------------------------------------------------------------------------------------------------------------------

操作路由

//放在路由的上面

        //浏览器输入地址    模块 /  控制器      /方法
Route::rule('/user/create','admin/UserController/create');//用户添加
Route::rule('/user/save','admin/UserController/save');//用户保存数据
Route::rule('/user/index','admin/UserController/index');//用户列表页面
Route::rule('/user/delete/:id','admin/UserController/delete');//用户删除
Route::rule('/user/edit/:id','admin/UserController/edit');//用户修改
Route::rule('/user/update/:id','admin/UserController/update');//用户保存数据
 

 

           //浏览器输入地址  模块   /控制器             /方法
Route::rule('/user/create','admin/UserController/create');//地址可以自定义

 

//路由到模板  网页路径  文件夹/文件名(省略扩展名)
Route::view('/admin','[email protected]/default');

---------------------------------------------------------------------------------------------------------------------------

控制器的增删改查

<?php
namespace app\admin\controller;
use think\Controller;
use think\Request;
//添加时用到(模型model 一个数据表一个模型)
use app\common\model\User;
use Db;
class UserController extends Controller
{

    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        // $users = User::select();//查询所有
        $users = User::paginate(2);//每页显示的条数
        $page_string = $users->render();
        return view('user/index',['users' => $users,'page_string'=>$page_string]);
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        //
        return view('user/create');
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        //接收所有数据
        $form_data = $request -> post();

        //验证 用户名长度
        $userlen = strlen($form_data['username']);
        $user_str = $form_data['username'];
        if($userlen < 2){
            $this -> error('用户名不能小于2位','/user/create');
        }
        if(!preg_match('/^[A-Za-z0-9_]+$/u',$user_str)){
            $this -> error('用户名应为数字字母下划线','/user/create');
        };

        //密码与确认密码一致 一致后MD5加密存储
        if($form_data['password'] == $form_data['repass']){
            $form_data['password'] == md5($form_data['repass']);
        }else{
            $this -> error('密码不一致','/user/create');
        }

        //手机号验证
        $user_pho = $form_data['tel'];
        if(!preg_match("/^1[345678]{1}\d{9}$/",$user_pho)){
            $this -> error('手机号码格式不对','/user/create');
        }

        //以上是验证
        //注册时间
        $form_data['rtime'] = time();
        //注册ip
        $form_data['rip'] = ip2long($_SERVER['REMOTE_ADDR']);

        //这个true是过滤添加时数据库里面没有的字段
        try {
            //执行添加
            User::create($form_data,true);
        } catch (Exception $e) {
            //异常信息
            $this -> error('用户添加失败','/user/create');
        }
        //用户添加成功
        $this -> success('用户添加成功','/user/index');
    }

    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {
        //
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        $users = User::get($id);
        // dump($users);
        return view('user/edit',['users' => $users]);
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        $form_data = $request -> post();

        try {
            User::update($form_data,['id'=>$id]);    
        } catch (Exception $e) {
            return $this -> error('修改失败','/user/edit/'.$id);
        }
            return $this -> success('修改成功','/user/index');
     }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        $row = User::destroy($id);
        if ($row) {
            $this -> success('删除成功','/user/index');
        } else {
            $this -> error('删除失败','/user/index');
        }
    }
}

---------------------------------------------------------------------------------------------------------------------------

模板方面{注意和数据库的字段名对应}

<!--公共部分-->

{block name="main"}

            可替换的部分

{/block}

<!--其它页面-->

{extend name="common/default" /}<>
{block name="main"}

         <form action="/user/update/{$users.id}" method="post" id="myform" name="myform" enctype="multipart/form-data">

               <select name="qx" id="catid" class="required">

                       <option value="1"{if $users.qx == 1}selected{/if}>管理员</option>
                       <option value="2"{if $users.qx == 2}selected{/if}>普通用户</option>
                       <option value="3"{if $users.qx == 3}selected{/if}>普通管理员</option>
                       <option value="4"{if $users.qx == 4}selected{/if}>教师</option>

              </select>

              <input class="common-text required" id="title" name="username" size="50" value="{$users.username}" type="text" />

            <label><input class="common-text required" id="title" name="sex" size="50" value="w" type="radio" {if $users.sex == 'm'}checked{/if}>男</label>
                                    &nbsp;&nbsp;&nbsp;&nbsp;
           <label><input class="common-text required" id="title" name="sex" size="50" value="m" type="radio"{if $users.sex == 'w'}checked{/if}>女</label>

         </form>

{/block}