tp3 和 tp5的区别

一、控制器修改

3.2版本控制器命名

IndexController.class.php

5.0版本控制器命名

Index.php


二、模型

新版的模型查询增加了静态方法,例如:

User::get(1); 
User::all();
User::where('id','>',10)->find();


三、模板

3.2版本

$this->display();


5.0版本在控制器中输出模板,使用方法如下:
如果你继承think\Controller的话,可以使用:

return $this->fetch('index/hello');

如果你的控制器没有继承 think\Controller的话,使用:

return view('index/hello');


、数据库

3.2版本

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

5.0版本

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


、join 联表查询

3.2版本

$Model = M('Artist');
$Model
->join('__WORK__ ON __ARTIST__.id = __WORK__.artist_id')
->join('__CARD__ ON __ARTIST__.card_id = __CARD__.id')
->select();

5.0版本

Db::name('artist')
->alias('a')
->join('__WORK__ w','a.id = w.artist_id')
->join('__CARD__ c','a.card_id = c.id')
->select();


、获得控制器的方法( 对做权限验证有帮助)

3.2版本

__MODULE__ 当前模块的URL地址  
__CONTROLLER__ 当前控制器的URL地址  
__ACTION__ 当前操作的URL地址

__SELF__ 当前URL地址


5.0版本

//获得模块名称、控制器名称、方法名称 
$request = \think\Request::instance();
$module_name = $request->module();
$controller_name = $request->controller();
$action = $request->action();
$active_url = $module_name.'/'.$controller_name.'/'.$action;


、查询某一列的值可以用, 返回数组

3.2版本

M('user')->where('status=1')->getField('name','id');

5.0版本

Db::name('user')->where('status',1)->column('name','id');

// 返回某个字段的值(很好用)

Db::name('user')->where('id',1)->value('name');


八、助手函数

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

3.2版本 5.0版本
C config
E exception
G debug
L lang
T 废除
I input
N 废除
D model
M db
A controller
R action
B 废除
U url
W widget
S cache
F 废除
取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

表情