TP3.2与TP5.0的区别
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
————————————————
版权声明:本文为CSDN博主「py卡卡」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39461487/article/details/78899413
TP3.2与TP5.0的区别的更多相关文章
- 【TP3.2与TP5.0区别】
Tp3.2 和 Tp5.0之间的区别 5.0版本和之前版本的差异较大,本篇对熟悉3.2版本的用户给出了一些5.0的主要区别. URL和路由 5.0的URL访问不再支持普通URL模式,路由也不支持正 ...
- Tp3.2 和 Tp5.0之间的区别
5.0版本和之前版本的差异较大,本篇对熟悉3.2版本的用户给出了一些5.0的主要区别. URL和路由 5.0的URL访问不再支持普通URL模式,路由也不支持正则路由定义,而是全部改为规则路由配合变量规 ...
- tp3.x和tp 5的区别
由于TP5.0是一个全新的颠覆重构版本,所以现在面试很多面试官喜欢问TP3.2和TP5之间的区别,那他们之间到底有哪些区别呢?一.目录 TP5目录 二.需要摒弃的 3.X 旧思想 模型的变动 ...
- 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: 来源: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. ...
- a href=#与 a href=javascript:void(0) 的区别
a href="#"> 点击链接后,页面会向上滚到页首,# 默认锚点为 #TOP <a href="javascript:void(0)" onCl ...
- bootstrap2.0与3.0的区别
在阅读这篇bootstrap2.0与3.0的区别的文章之前,大家一定要先了解什么是响应式网站设计?推荐大家看看这篇"教你快速了解响应式网站设计" . 我觉得bootstrap的可视 ...
- 超链接的#和javascript:void(0)的区别
转载于:http://www.uw3c.com/cssviews/css12.html 在工作中,如果我们想把a标签中的链接置成空链接,我们一般会用两种方法: 1 <a href=" ...
随机推荐
- Pytorch:以单通道(灰度图)加载图片
以单通道(灰度图)加载图片 如果我们想以单通道加载图片,设置加载数据集时的transform参数如下即可: from torchvision import datasets, transforms t ...
- Java手机号校验规则最新
一.最新的Java手机号校验规则 在Java中,进行手机号校验通常使用正则表达式(Regex)来匹配手机号的格式.以下是一个基于当前(截至2024年)中国手机号规则的校验方法: 中国手机号通常以数字1 ...
- supersocket实际应用之你画我猜游戏(一)
supersocket这款组件,让不懂tcp/ip的人都能开发出网络应用.我们不必在开发与自己主要应用不相关的代码了,主要精力都能放在设计业务逻辑上面了. 现在使用现成又完备的组件,真是大大的提高了开 ...
- Django路由控制器urls
路由, 是一种映射关系,是把客户端请求的url地址和用户请求的应用程序(这里指django里面的视图进行一对一绑定映射的一种关系). 在django中所有的路由最终都被保存到一个变量 urlpatte ...
- TDengine入驻Rainbond开源应用商店
前言 TDengine是一个高效的存储.查询.分析时序大数据的平台,专为物联网.车联网.工业互联网.运维监测等优化而设计.Rianbond擅长应用自动化管理 ,两者结合起来实现1+1大于2,本文详细讲 ...
- itestwork(爱测试)开源一站式接口测试&敏捷测试工作站 9.0.0 GA 发布,重大升级
(一)itest 简介 itest work (爱测试) 一站式工作站让测试变得简单.敏捷.itest work 包含极简的任务管理,测试管理,缺陷管理,测试环境管理,接口测试,接口Mock 6合1 ...
- rhce练习题容易错的地方
rhce练习题里容易错的地方 使用导航器的时候,ssh连接 因为导航器是一个工具,生成一个容器,在容器里面运行playbook 安装软件包的时候,多个软件包使用循环loop loop的格式 - hos ...
- (八十七)c#Winform自定义控件-朝上的瓶子
官网 http://www.hzhcontrols.com/ 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kw ...
- 算法学习笔记(13): Manacher算法
Manacher算法 形象的被译为马拉车算法 这个算法用于处理简单的回文字符串的问题.可以在 \(O(n)\) 的复杂度内处理出每一个位置为中心的回文串的最长长度. 为了避免出现偶数长度的回文串,导致 ...
- LeetCode 332. Reconstruct Itinerary重新安排行程 (C++/Java)
题目: Given a list of airline tickets represented by pairs of departure and arrival airports [from, to ...