Thinkphp3.2版本与版本5的区别

URL的变动

命名规范

目录和文件名采用‘小写+下划线’,以小写字母开头;

类库、函数文件统一以.php为后缀;

类的文件名均以命名空间定义,且命名空间的路径和类库文件所在路径一致(包括大小写);

数据库

模型链式查询==>调用db类(M函数==>db函数):

M('User')->where(['name'=>'thinkphp'])->find();

db('User')->where('name','thinkphp')->find();

路由

不再支持普通URL模式、正则路由定义,全部改为规则路由配合变量规则(正则定义)的方式

模型

模型查询新增静态方法,完全面向对象,且必须有对应模型类(D函数==>model函数)

D('User')->where(['name'=>'thinkphp'])->find();

model('User')->where('name','thinkphp')->find();

控制器

调整命名空间,可无需继承任何控制器类

应用类库命名空间统一为app

控制器的类名默认不带Controller后缀

操作方法采用return返回数据

废除操作前后置方法

输出模板

继承think\Controller:return $this->fetch('index/hello');

没有继承think\Controller:return view('index/hello');

自动验证和自动完成

通过think\Validate类统一验证,模型里定义修改器完成

异常

展示详尽错误信息,便于调试

调试和日志

支持浏览器控制台查看Trace信息,采用SocketLog支持远程调试

常量

系统常量的废弃,仅保留框架的路径常量定义

函数

不依赖任何函数,只是对常用的操作封装提供了助手函数

猜你喜欢

转载自www.cnblogs.com/go-wandering/p/10903441.html
今日推荐