• 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 包管理

  • 相关阅读:
    面向对象类成员之静态字段
    面向对象中,用super来联系父类的函数
    登录
    奇数偶数
    vue中播放音乐
    vue中的轮播图
    vue中的bind
    vue中的for
    django rest_framework中的APIView,ModelViewSet,认证,权限,频率,版本
    django rest_framework中的mixins,generics,ModelViewSet中的url简写
  • 原文地址:https://www.cnblogs.com/fangdada/p/14785538.html
Copyright © 2020-2023  润新知