Thinkphp 3 和 Thinkphp5 区别

入口文件位置
5 public 根目录下面的index.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相关属性获取方法来完成
废除
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

标签
include,load,volist,foreach,for,switch,case,default,
compare,range,present,notpresent,empty,notempty,defined,
notdefined,define,assign,if, elseif,else,php,

最重要的一点支持composer 包管理

原文地址:https://www.cnblogs.com/fangdada/p/14785538.html