php tp5.3,TP5和TP3.X的区别是什么

TP5和TP3.X的区别有:1、TP3.2控制器命名必须以“Controller.class.php”结尾,而TP5是以“.php”结尾;2、目录结构不同;3、TP5的数据库查询功能增强,而原来的M函数调用可以改用db函数。

49c5d286da910ea4f83a44af7c3169ce.png

由于TP5.0是一个全新的颠覆重构版本,所以现在面试很多面试官喜欢问TP3.2和TP5之间的区别,那他们之间到底有哪些区别呢?

一、目录

8daa71ffcff6486f297820903dfdb40b.png

3284f2c2934d6995690e48829dc5cf25.png

TP5目录

7a9a3c9349a8b0ea7a5ce1f1523ec332.png

二、需要摒弃的3.X旧思想

URL的变动

首先对3.X的不严谨给开发者们带来的不正确的引导表示歉意,在5.0版本正式废除类似/id/1方式 可以通过‘get’获取到‘id’的方法,严格来讲这样的url是不属于$_GET的,现在可以通过‘param’获取,具体使用可以通过请求部分查询。

模型的变动

新版的模型查询返回默认‘对象’,系统默认增加了'toArray'方法,许多开发者在'all'或'select'尝试使用'toArray'来 转换为数组,在此希望开发者能理解‘对象’的概念,尝试使用‘对象’进行数据的使用,或者使用'db'方法进行数据库的操作,也提醒一下部分‘滥 用’'toArray'的开发者,'all'或'select'结果是对象的数组集合,是无法使用'toArray'进行转换的。

三、控制器版本对比

tp3

898cd0b16f1ce7ba984af36f1c413394.png

tp5

d59a5cb92e14a1fcbc0f667da008bba8.png

TP3.2控制器命名必须以Controller.class.php结尾,而TP5是以.php结尾;

TP3.2控制器模版输出使用$this->display()方法,而在TP5中如果继承基础控制器使用$this->fetch()方法,没有继承使用view()助手函数即可;

模型

5.0 的数据库查询功能增强,原先需要通过模型才能使用的链式查询可以直接通过 Db 类调用,原来的 M 函数调用可以改用 db 函数,例如:

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

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

四、助手函数

5.0助手函数和3.2版本的单字母函数对比如下:

b0554068323f60c0923f5235926c775a.png

更多相关知识,请访问 PHP中文网!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值