thinkphp5与thinkphp3的不同点

1、默认的报错级别,全部为fatal级别,包括变量未定义之类的,可以在common.php里定义error_reporting,入口文件定义无效
2、伪静态路由,直接在route.php里配置一个数组就可以了,但是有个坑,类似这样的路由index.php/module/controller/action/param/value,转换成伪静态后,比如
‘news/:id’ => ‘index/news/article’,
接收参数id是没法通过get或者request之类来接收的需要在action里这样写
public function article(Request $req){
$id = $req->param(“id”);

3、模板,所有模板标签全部改成花括号,比如原先3.x这样写<volist …>,5.x必须这样{volist …}
4、模型,必须要给每个表定义model,然后才能使用model(“table”)来操作模型
5、取消单字母函数,因此不能用M()函数来操作模型,正确方法见上一条
6、join,链式sql的join方法,参数改了,第一参数是被连接表及别名,第二参数是连接条件,add方法取消了,改用insert方法
7、模板渲染,需要用return ,比如return $this->fetch(‘duan’);
8、控制器文件名和类名都不用再加controller

发表评论