2018-01-19 16:24 ThinkPHP 389 梁俊威
ThinkPHP 3 完全开发手册:https://www.kancloud.cn/manual/thinkphp/1678
ThinkPHP 5 完全开发手册:https://www.kancloud.cn/manual/thinkphp5/content
控制器写法不同
// ThinkPHP3的写法 namespace Home\Controller; use Think\Controller; class IndexController extends Controller{ public function hello(){ echo 'hello,thinkphp!'; } } // ThinkPHP5的写法 namespace app\index\controller; class Index{ public function index(){ return 'hello,thinkphp!'; } }
控制器命名不同
// ThinkPHP3命名 IndexController.class.php // ThinkPHP5控制器命名 Index.php
在控制器中正确的输出模板
5.0在控制器中输出模板,使用方法如下:
// 已继承think\Controller时 return $this->fetch('index/hello'); // 未继承think\Controller时 return view('index/hello');
模型
如果非要对比与旧版本的改进,模型被分为数据库、模型、验证器三部分,分别对应M方法、模型、自动验证,同时均有所加强,下面做简单介绍。
数据库
5.0的数据库查询功能增强,原先需要通过模型才能使用的链式查询可以直接通过Db类调用,原来的M函数调用可以改用db函数,例如:
// ThinkPHP3 M('User')->where(['name'=>'thinkphp'])->find(); // ThinkPHP5 Db('User')->where('name','thinkphp')->find();
模型
新版的模型查询增加了静态方法,例如:
User::get(1); User::all(); User::where('id','>',10)->find();
模型部分增强了很多功能,具体请查阅“模型章节”。
自动验证
对比旧的版本,可以理解为之前的自动验证且不同于之前的验证;
ThinkPHP5.0验证使用独立的 \think\Validate 类或者 验证器 进行验证,不仅适用于模型,在控制器也可直接调用,具体使用规则请参考“验证”章节,这里不再赘述。
配置文件
新版对配置很多的配置参数或者配置层次都和之前不同了,建议大家要么看看代码,要么仔细通读下官方的开发手册,不要因为配置的问题浪费自己一整天的时间。
异常
5.0对错误零容忍,默认情况下会对任何级别的错误抛出异常,并且重新设计了异常页面,展示了详尽的错误信息,便于调试。
系统常量的废弃
5.0版本相对于之前版本对系统变化进行了大量的废弃,用户如果有相关需求可以自行定义
下面是废除常量
REQUEST_METHOD IS_GET IS_POST IS_PUT IS_DELETE IS_AJAX __EXT__ COMMON_MODULE MODULE_NAME CONTROLLER_NAME ACTION_NAME APP_NAMESPACE APP_DEBUG MODULE_PATH等
部分常量可以在Request里面进行获取,具体参考“请求章节”。
注:再次说明本章节仅仅为之前使用3.X版本开发者快速理解5.0所写,具体5.0的功能还需要开发者通读手册。
若无特殊说明,本站点所有内容均为原创,转载请说明出处!