首頁 >後端開發 >php教程 >列舉ThinkPHP5與ThinkPHP3的一些異同點

列舉ThinkPHP5與ThinkPHP3的一些異同點

jacklove
jacklove原創
2018-06-15 10:48:052707瀏覽

官方說過了,不要用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')

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

<p style="text-indent: 0em; line-height: normal;"><span style="font-size: 16px;">如果需要全局替换的话,可以直接在配置文件中添加:'view_replace_str'  =>  [    '__PUBLIC__'=>'/public/',    '__ROOT__' => '/',<br>]<br>或者直接使用常量配置<br>{$Think.config.PUBLIC}</span></p>

默认的引擎标签可修改,也就是之前的a8093152e673feb7aba1828c43532094这种可以继续用

      // 模板引擎普通标签开始标记
       &#39;tpl_begin&#39;    => &#39;{&#39;,        // 模板引擎普通标签结束标记
       &#39;tpl_end&#39;      => &#39;}&#39;,        // 标签库标签开始标记
       &#39;taglib_begin&#39; => &#39;{&#39;,        // 标签库标签结束标记
       &#39;taglib_end&#39;   => &#39;}&#39;,

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

相关推荐:

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

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

where方法的应用讲解

以上是列舉ThinkPHP5與ThinkPHP3的一些異同點的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn