插件窝 干货文章 thinkphp3和5有什么区别

thinkphp3和5有什么区别

strong 支持 路由 增加 894    来源:    2024-10-27
thinkphp3和5的区别:1、thinkphp3中url访问支持普通url模式,而thinkphp5中不支持;2、thinkphp5中增加了路由变量规则、资源路由和路由分组等,而thinkphp3中没有。

本文操作环境:Windows10系统、ThinkPHP5版、Dell G3电脑。

thinkphp3和5有什么区别

入口文件位置

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视频教程》