ThinkPHP5 与 ThinkPHP3.* 之间的使用差异

1、过去的单字母函数已完全被替换掉,如下:

S=>cache,C=>config,M/D=>model,U=>url,I=>input,E=>exception,L=>lang,A=>controller,R=>action

2、模版渲染:$this->display() => return view()/return $this->fetch();

3、在model中调用自身model:$this => Db::table($this->table)

4、在新建控制器与模型时的命名:

  ①控制器去掉后缀controller:UserController => User

  ②模型去掉后缀model:UserModel => User

5、url访问:

  如果控制器名使用驼峰法,访问时需要将各字母之间用下划线链接后进行访问。

  eg:控制器名为AddUser,访问是用add_user来进行访问

6、在TP5中支持配置二级参数(即二维数组),配置文件中,二级配置参数读取:

  ①Config::get('user.type');

  ②config('user.type');

7、模板中支持三元运算符的运算:{$info.status ? $info.msg : $info.error}还支持这种写法:{$varname.aa ?? 'xxx'}或{$varname.aa ?: 'xxx'}

8、TP5内置标签:

  系统内置的标签中,volist、switch、if、elseif、else、foreach、compare(包括所有的比较标签)、(not)present、(not)empty、(not)defined等

9、TP5数据验证:

  $validate = new Validate(['name' => 'require|max:25','email' => 'email']);

  $data = ['name' => 'thinkphp','email' => 'thinkphp@qq.com'];

  if(!validate->check($data)){

    debug::dump($validate->getError());

  }

  注:使用助手函数实例化验证器——$validate = validate('User');

10、TP5实现了内置分页,使用如下:

  查询状态为1的用户数据,且每页显示10条数据

  $list = model('User')->where('status',1)->paginate(10);

   $page = $this->render();

   $this->assign('_list',$list);

   $this->assign('_page',$page);

   return $this->fetch();

  模板文件中分页输出代码如下:

  <div>{$_page}</div>

 

1、过去的单字母函数已完全被替换掉,如下:

S=>cache,C=>config,M/D=>model,U=>url,I=>input,E=>exception,L=>lang,A=>controller,R=>action

2、模版渲染:$this->display() => return view()/return $this->fetch();

3、在model中调用自身model:$this => Db::table($this->table)

4、在新建控制器与模型时的命名:

  ①控制器去掉后缀controller:UserController => User

  ②模型去掉后缀model:UserModel => User

5、url访问:

  如果控制器名使用驼峰法,访问时需要将各字母之间用下划线链接后进行访问。

  eg:控制器名为AddUser,访问是用add_user来进行访问

6、在TP5中支持配置二级参数(即二维数组),配置文件中,二级配置参数读取:

  ①Config::get('user.type');

  ②config('user.type');

7、模板中支持三元运算符的运算:{$info.status ? $info.msg : $info.error}还支持这种写法:{$varname.aa ?? 'xxx'}或{$varname.aa ?: 'xxx'}

8、TP5内置标签:

  系统内置的标签中,volist、switch、if、elseif、else、foreach、compare(包括所有的比较标签)、(not)present、(not)empty、(not)defined等

9、TP5数据验证:

  $validate = new Validate(['name' => 'require|max:25','email' => 'email']);

  $data = ['name' => 'thinkphp','email' => 'thinkphp@qq.com'];

  if(!validate->check($data)){

    debug::dump($validate->getError());

  }

  注:使用助手函数实例化验证器——$validate = validate('User');

10、TP5实现了内置分页,使用如下:

  查询状态为1的用户数据,且每页显示10条数据

  $list = model('User')->where('status',1)->paginate(10);

   $page = $this->render();

   $this->assign('_list',$list);

   $this->assign('_page',$page);

   return $this->fetch();

  模板文件中分页输出代码如下:

  <div>{$_page}</div>