首页 > 编程 > PHP > 正文

列举ThinkPHP5与ThinkPHP3的一些异同点

2020-03-22 19:44:11
字体:
来源:转载
供稿:网友
官方说过了,不要用3的思维去用5。这样说吧算是官方出的俩个产品,并非版本迭代的关系。目录结构不一样,有些函数名不一样。如果是传统的mvc网站,用tp3.2。如果是做接口,就用tp5。前后主要差别应该就是对于view的处理。模型实例化

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());
原来的TP的I方法

之前的TP有个I方法用来接收请求参数,目前可以使用input方法替代

需要注意的是新增方法

现在的单条新增方法改为了save方法,这个是以前的更新方法,而且需要注意的是更新的方式也有区别。新增可以直接用save,而更新则需要加isUpdate(true)

model( )- isUpdate(true)- save($data);
TP5和原来版本TP差距最大的功能性的地方在返回,现在几乎所有的数据库查询都会返回对象
$menuurl- find($menu_id);//此方法返回一个对象,可以使用- toArray()方法转换为数组$this- where($condition)- order($order)- select();//此方法返回一个对象数组,所以要使用数据也必须转换,当然可以直接用对象
C方法被config方法替换数据库配置单独在database.php中,想获取参数使用
config( database.prefix )


页面中目前有自定义常量的方法,使用配置的方法类似之前版本

如果需要全局替换的话,可以直接在配置文件中添加: view_replace_str = [ __PUBLIC__ = /html' target='_blank'>public/ , __ROOT__ = / ,
]
或者直接使用常量配置
{$Think.config.PUBLIC}


默认的引擎标签可修改,也就是之前的 这种可以继续用
 // 模板引擎普通标签开始标记 tpl_begin = { , // 模板引擎普通标签结束标记 tpl_end = } , // 标签库标签开始标记 taglib_begin = { , // 标签库标签结束标记 taglib_end = } ,

本文讲解了ThinkPHP5与ThinkPHP3的一些异同点,更多相关内容请关注php 。

相关推荐:

创建一个最简单的ThinkPhp项目工程

关于ThinkPHP的增、删、改、查 的一些总结

where方法的应用讲解

以上就是列举ThinkPHP5与ThinkPHP3的一些异同点的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表