tp5.0和tp3.2的区别
1. 控制器输出
return $this->fetch(); ----5
$this->display(); ----3.2
单字母函数去掉了 如:M() D() U() S() C()
3.2 ---------5
G() --------- debug() 记录时间(微秒)和内存使用情况
E() --------- exception() 抛出异常处理
C() --------- config() 获取和设置配置参数
I() --------- input() 获取输入数据,支持默认值和过滤
W() --------- widget() 染输出Widget
D() --------- model() 实例化Model
S() --------- cache() 缓存管理
U() --------- url() Url生成
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');
查询某一列的值
//返回数组
Db::table('think_user')->where('status', 1)->column('name');
//指定id字段作为索引
Db::table('think_user')->where('status', 1)->column('name','id');
3.为什么不能识别驼峰法命名的控制器,5.0版本默认情况下不区分URL的大小写,也就是说URL里面的控制器和操作都会强制转小写然后去定位控制器类,因此
http://serverName/index/UserType/addType
//和下面的访问是等效的
http://serverName/index/usertype/addtype
如果需要访问驼峰法命名的UserType控制器,有两种方式
(1).使用下面的URL地址访问
http://serverName/index/user_type/addtype
(2).配置url_convert参数,关闭URL强制转换
//关闭自动转换
'url_convert' => false,
4. tp5版本的模板标签界定符由原来的<>更改为{}
<volist name="list" id="val">
{$val.id}:{$val.name}
</volist>
改为:
{volist name="list" id="val"}
{$val.id}:{$val.name}
{/volist}
5. 控制器的类名默认不带Controller后缀 模型类的后缀不再带Model
6. 3.2版本和5版本 数据库写法不一样
M('User')->where(['name' => 'think'])->find(); ----3.2
db('User')->where(['name' => 'think'])->find(); ----5
7. 模型区别
D('User')->where(['name' => 'think'])->find(); ----3.2
model('User')->where(['name' => 'think'])->find(); ----5
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
CONTROLLER_NAME
ACTION_NAME
APP_NAMESPACE
APP_DEBUG
MODULE_PATH
tp5.0和tp3.2的区别的更多相关文章
- tp5.0和tp3.2中前台模板IF标签和FOREACH的区别
IF标签 tp3.2 <if condition="($name eq 1) OR ($name gt 100) "> value1 <elseif condit ...
- 【TP3.2与TP5.0区别】
Tp3.2 和 Tp5.0之间的区别 5.0版本和之前版本的差异较大,本篇对熟悉3.2版本的用户给出了一些5.0的主要区别. URL和路由 5.0的URL访问不再支持普通URL模式,路由也不支持正 ...
- tp3.2 事务 和 tp5.0事务
tp3.2: 来源:https://www.kancloud.cn/thinkphp-development/tp323/423369 和: https://blog.csdn.net/mengzuc ...
- ThinkPHP5.0框架开发--第1章 Tp5.0安装
ThinkPHP5.0框架开发--第1章 Tp5.0安装 第1章 Tp5.0 安装 ======================================================== 今 ...
- ThinkPHP5.0框架开发--第8章 TP5.0 模型
ThinkPHP5.0框架开发--第8章 TP5.0 模型 第8章 TP5.0 模型 ================================================= 今日学习 1. ...
- Byte,TBytes,array of Byte, array[0..9] of byte的区别
Byte前面已经说是存放bit的单元,是电脑内存的基本单位,byte表示0-255中的256个数字 下面为Byte的用法: var B: Byte; // 表示0-255的数字 begin B := ...
- Tp5.0 PHPMailer邮件发送
今天突然想起来邮件发送,就看了一下PHPmailer,其实这个用起来很简单,都是封装好的 https://github.com/PHPMailer/PHPMailer,直接下载下来之后,把他放入TP5 ...
- tp5.0.7 修复getshell漏洞
这里 接手项目用的是 tp5.0.7 突然想到前段事件的tp bug 事件 就试了下 发现确实有这种情况 参考帖子: https://bbs.ichunqiu.com/thread-48687-1-1 ...
- TP5.0 PHPExcel 数据表格导出导入(引)
TP5.0 PHPExcel 数据表格导出导入(引) 今天看的是PHPExcel这个扩展库,Comporse 下载不下来,最后只能自己去github里面手动下载,但有一个问题就是下载下来的PHPExc ...
随机推荐
- 【新人赛】阿里云恶意程序检测 -- 实践记录10.20 - 数据预处理 / 训练数据分析 / TF-IDF模型调参
Colab连接与数据预处理 Colab连接方法见上一篇博客 数据预处理: import pandas as pd import pickle import numpy as np # 训练数据和测试数 ...
- python3.6安装PyUserInput
python3.6安装PyUserInput https://www.cnblogs.com/yoyoketang/p/8043814.html
- 免费免驱动从网上截取正版音乐与MV及视频
在QQ Music里听到Alan Walker 的 Songs,想download,但是要绿钻.MV也有QQ音乐的logo,这下有了一个绝佳的办法! Tools:1.Gihosoft TubeGet ...
- 42.MySQL数据库安装,及驱动程序选择
MySQL驱动程序安装: 我们使用Django来操作Mysql,实际上底层还是通过Python来操作的,因此我们想要使用Django来操作mysql,首先还是需要安装一个驱动程序,在Python3中, ...
- Java泛型(T)与通配符?
前言:使用泛型的目的是利用Java编译机制,在编译过程中帮我们检测代码中不规范的有可能导致程序错误的代码.例如,我们都知道list容器可以持有任何类型的数据,所以我们可以把String类型和Integ ...
- 关于form表单提交数据后不跳转页面+ajax接收返回值的处理
1.前台的form表单建立,注意action.enctype的内容, 2.通过添加一个隐藏的iframe标签使form的target指向iframe来达到不跳转页面的效果,同时需要在js里获取ifra ...
- 【整理】IC失效机理(持续更新)
IC 四种常见失效机理如下: EM -- electron migration,电子迁移)TDDB -- time dependent dielectric breakdown,与时间相关电 ...
- centos7 下 安装GeoIP2,在nginx中根据ip地址对应的国家转发请求
最近有个需求是根据用户的地理位置,访问不同的服务器,比如国外用户访问国外的服务器,国内的用户访问国内的服务器,实现的思路主要两种: 智能dns,这个需要在阿里云中注册为企业版才有提供 nginx中使用 ...
- linux 第一个知识点(my)
关于Linux - rwx rwx rwx root user 194 Oct : 19 21:24 test -:此符号为文件名,如果是d 则为目录,如果是l 则为连接 rwx: 这是所有者所有的 ...
- 统一操作系统 UOS 回应质疑 (独立思考)
统一操作系统 UOS 回应质疑 自从统一操作系统UOS正式版面向合作伙伴发布之后,小编就关注到网上对统一操作系统UOS众说纷纭.留意了近期网友们发表的评论: “又多了一个骗钱的国产操作系统” “从UO ...