• 技术文章 >php框架 >ThinkPHP

    thinkphp3和5有什么区别

    WBOYWBOY2022-02-24 16:26:41原创1126

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

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

    thinkphp3和5有什么区别

    入口文件位置

    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相关属性获取方法来完成

    推荐学习:《PHP视频教程

    以上就是thinkphp3和5有什么区别的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:thinkphp
    上一篇:thinkphp的find方法怎么用 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • thinkphp5.0中m方法怎么用• ThinkPhp5.1 + jSignature实现在线签名功能• smarty和thinkphp的区别是什么• thinkphp5中save方法怎么用• thinkphp中count的用法是什么
    1/1

    PHP中文网