zoukankan      html  css  js  c++  java
  • TP5和TP3.2的区别

      1.控制器输出

    return $this->fetch("index/hello");

    $this->display

    单字母函数去掉了 如:M() D() U() S() C()

    官方说明地址:http://www.kancloud.cn/thinkphp/thinkphp5_quickstart/145260

    为啥单字母函数去掉了?

    单字母函数是TP历史上争议较大的问题,应该说单字母函数的诞生是有历史原因的,但已经到了退出历史舞台的时候了,可能很多人习惯了单字母函数带来的便捷(虽然同时我们也饱受着某些学院用户的抱怨)。

    基于几个原因废除了单字母函数:
    (1)5.0 核心已经不依赖任何函数 只是对常用的操作封装提供了助手函数
    (2)助手函数是可以完全自己定义和修改,并不影响其他的使用 
    (3)现在的IDE提示和自动完成功能已经非常强大了,所以用不用助手函数,或者是否需要改成原来的单字母函数,全凭开发者个人意愿。

    核心框架不依赖任何助手函数,系统只是默认加载了助手函数,配置如下:

    // 扩展函数文件定义 'extra_file_list' => [THINK_PATH . 'helper' . EXT],

    因此,你可以随意修改助手函数的名称或者添加自己的助手函数,然后修改配置为:

    // 扩展函数文件定义 'extra_file_list' =>  [ APP_PATH . 'helper' . EXT],

    2.原来3.2版本的模型的getField方法应该如何使用?

    原先模型类的getField犯法,在5.0的数据库Query类中拆分成两个方法,一个value方法用于查询某个行的某个值和一个column方法用于查询某个列的值,用法如下:

    查询某个字段的值可用

    // 返回某个字段的值

    Db::table('think_user')->where('id',1)->value('name');

    原先的聚合查询方法依然有效,例如:

    // 查询用户数

    Db::table('think_user')->count();

    // 查询用户的最高分

    Db::table('think_user')->max('score');

    3.为什么不能识别驼峰命名的控制器5.0版本默认情况下不区分URL的大小写,也就是说URL里面的控制器和操作都会强制转小写然后去定位控制器类,因此

    http://serverName/index/UserType/addType

    // 和下面的访问是等效的

    http://serverName/index/usertype/addtype

    如果需要访问驼峰命名法的UserType控制器,有两种方式

    一、使用下面的URL地址访问

    http://serverName/index/user_type/addtype

    二、配置url_convert参数,关闭URL强制转换

    // 关闭自动转换

    'url_convert' => false,

    4.TP5版本的模板标签界定符由原来id<>更改为{}

    <volist name="lsit" id="vo">

    {$vo.id}:{$vo.name}

    </volist>

    改为

    {volist name="list" id="vo"}

    {$vo.id}:{$vo.name}

    {/volist}

    5.控制器的类名默认不带Controller后缀 模型类的后缀不带Model

    6.3.2版本和5版本 数据库写法不一样

    M('User')->where(['name'=>'thinkphp'])->find();

    db('User')->where('name','thinkphp')->find();

    7. 模型3.2和5版本区别

    D('User')->where(['name''=>'thinkphp'])->find();

    model('User')->where('name','thinkphp')->find();

    8.请求对象和相应对象

    5.0新增了请求对象Request和响应对象Response,Request统一处理请求和获取请求信息,Response对象负责输出客户端或者浏览器响应

    9.常量简化

    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





  • 相关阅读:
    结对-结对编程项目作业名称-结对项目总结
    课后作业 -团队项目编程进度
    团队-象棋游戏-模块开发过程
    团队-象棋游戏-模块测试过程
    结队-结队编程项目作业名称-项目进度
    课后作业-阅读任务-阅读笔记-3
    团队-象棋游戏-需求分析
    团队-象棋游戏-成员简介及分工
    课后作业 -团队项目编程进度
    团队编程 象棋游戏 开发文档
  • 原文地址:https://www.cnblogs.com/phonecom/p/c0b16c9072adf102fcd80eade9e4137b.html
Copyright © 2011-2022 走看看