thinkphp3和5的区别:1、thinkphp3中url访问支持普通url模式,而thinkphp5中不支持;2、thinkphp5中增加了路由变量规则、资源路由和路由分组等,而thinkphp3中没有。
本文操作环境:Windows10系统、ThinkPHP5版、Dell G3电脑。
入口文件位置
5 public 根目录下面的index.php 文件
路由控制
立即学习“PHP免费学习笔记(深入)”;
5.0 url 访问不在支持普通url模式(get方法)
改进:
增加路由变量规则;
增加组合变量支持;
增加资源路由;
增加路由分组
增加必报定义支持
支持MISS路由定义
请求和相应:
新增请求对象Request 和 相应对象Response
控制器方面
控制器类名默认不带Controller后缀
新创建控制器类可以无需集成任何的控制器类
控制输出
不再是直接输出,而是return方式 数组 或者json对象
3.2 $this->display()
5.0 return $this->fetch()
模板引擎
模块定界符由原来的 -> {}
新加:模板继承功能 命名块 {block name}
助手函数
3.2 M D
5.0 model db
G() -> debug()
E() -> exception()
C() -> config()
I() -> input()
W() -> widget()
D() -> model()
S() -> cache()
U() -> url()
数据库底层的一些方法
新加:
支持闭包查询
支持分块查询
支持视图查询
增加SQL监听事件
5.0 value() column()
Model 新增如下
模型类的后缀不再带Model
主要改进包括:
重构关联模型;
支持聚合模型;
废除视图模型(改为数据库的视图查询方法);
模型的扩展采用Trait机制;
增加获取器和修改器;
增加时间戳自动写入;
增加类型字段转换;
数组访问支持;
JSON序列化支持;
自动验证和自动完成
底层数据库驱动支持 mysql Sqlite PgSQL, Oracle, PDO
常量简化
5.0 版本废弃了原来的大部分常量定义,仅仅保留框架的路劲常量定义,其余的常量可以使用APP类获取Request相关属性获取方法来完成
推荐学习:《PHP视频教程》