首页 >后端开发 >php教程 >TP5和TP3.X的区别是什么

TP5和TP3.X的区别是什么

黄舟
黄舟原创
2017-08-09 10:15:014203浏览

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

TP5和TP3.X的区别是什么

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

一、目录

1.jpg

2.jpg

TP5目录

3.jpg

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

URL的变动

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

模型的变动

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

三、控制器版本对比

tp3

4.jpg

tp5

5.jpg

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版本的单字母函数对比如下:

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

以上是TP5和TP3.X的区别是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn