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支持远程调试
常量
系统常量的废弃,仅保留框架的路径常量定义
函数
不依赖任何函数,只是对常用的操作封装提供了助手函数