Rumah  >  Artikel  >  pembangunan bahagian belakang  >  TP5和TP3.X的区别是什么

TP5和TP3.X的区别是什么

黄舟
黄舟asal
2017-08-09 10:15:014163semak imbas

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中文网!!

Atas ialah kandungan terperinci TP5和TP3.X的区别是什么. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn