首页 > 代码库 > 【转载】tp5与3.2区别
【转载】tp5与3.2区别
原文链接
模型实例化
TP5取消了自动实例化模型的M方法,转而使用了新的实例化模型方法。没有自动实例化则必须自己新建模型类,然后自己实例化,这就有点类似D方法。这里与D方法的功能类似的有一个model的方法,功能上完全可以替换使用
U方法
U方法是TP中的生成路由的内置方法,现在这个方法可以完全使用url方法替换
TP5中取消了IS_GET和IS_POST方法
如果想继续使用可以在项目中自定义一下,如下:
define(‘IS_GET‘,Request::instance()->isGet());
define(‘IS_POST‘, Request::instance()->isPost());
- 1
- 2
- 1
- 2
原来的TP的I方法
之前的TP有个I方法用来接收请求参数,目前可以使用input方法替代
需要注意的是新增方法
现在的单条新增方法改为了save方法,这个是以前的更新方法,而且需要注意的是更新的方式也有区别。新增可以直接用save,而更新则需要加isUpdate(true)
model("")->isUpdate(true)->save($data);
- 1
- 1
TP5和原来版本TP差距最大的功能性的地方在返回,现在几乎所有的数据库查询都会返回对象
$menuurl->find($menu_id);//此方法返回一个对象,可以使用->toArray()方法转换为数组
$this->where($condition)->order($order)->select();//此方法返回一个对象数组,所以要使用数据也必须转换,当然可以直接用对象
- 1
- 2
- 1
- 2
C方法被config方法替换
数据库配置单独在database.php中,想获取参数使用
config(‘database.prefix‘)
- 1
- 1
页面中目前有自定义常量的方法,使用配置的方法类似之前版本
如果需要全局替换的话,可以直接在配置文件中添加:
‘view_replace_str‘ => [
‘__PUBLIC__‘=>‘/public/‘,
‘__ROOT__‘ => ‘/‘,
]
或者直接使用常量配置
{$Think.config.PUBLIC}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
默认的引擎标签可修改,也就是之前的<>这种可以继续用
// 模板引擎普通标签开始标记
‘tpl_begin‘ => ‘{‘,
// 模板引擎普通标签结束标记
‘tpl_end‘ => ‘}‘,
// 标签库标签开始标记
‘taglib_begin‘ => ‘{‘,
// 标签库标签结束标记
‘taglib_end‘ => ‘}‘,
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
目前基本的就是以上
【转载】tp5与3.2区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。