thinkphp5和thinkphp3區(qū)別

thinkphp5和thinkphp3區(qū)別

thinkphp5和thinkphp3區(qū)別

官方說過了,不要用3的思維去用5。這樣說吧算是官方出的倆個產(chǎn)品,并非版本迭代的關系。目錄結(jié)構(gòu)不一樣,有些函數(shù)名不一樣。如果是傳統(tǒng)的mvc網(wǎng)站,用tp3.2。如果是做接口,就用tp5。前后主要差別應該就是對于view的處理。

模型實例化

TP5取消了自動實例化模型的M方法,轉(zhuǎn)而使用了新的實例化模型方法。沒有自動實例化則必須自己新建模型類,然后自己實例化,這就有點類似D方法。這里與D方法的功能類似的有一個model的方法,功能上完全可以替換使用

U方法

立即學習PHP免費學習筆記(深入)”;

U方法是TP中的生成路由的內(nèi)置方法,現(xiàn)在這個方法可以完全使用url方法替換

TP5中取消了IS_GET和IS_POST方法

如果想繼續(xù)使用可以在項目中自定義一下,如下:

?define('IS_GET',Request::instance()->isGet()); ?define('IS_POST',???????Request::instance()->isPost());

原來的TP的I方法

之前的TP有個I方法用來接收請求參數(shù),目前可以使用input方法替代

需要注意的是新增方法

現(xiàn)在的單條新增方法改為了save方法,這個是以前的更新方法,而且需要注意的是更新的方式也有區(qū)別。新增可以直接用save,而更新則需要加isUpdate(true)

model("")->isUpdate(true)->save($data);

TP5和原來版本TP差距最大的功能性的地方在返回,現(xiàn)在幾乎所有的數(shù)據(jù)庫查詢都會返回對象

$menuurl->find($menu_id);//此方法返回一個對象,可以使用->toArray()方法轉(zhuǎn)換為數(shù)組 $this->where($condition)->order($order)->select();//此方法返回一個對象數(shù)組,所以要使用數(shù)據(jù)也必須轉(zhuǎn)換,當然可以直接用對象

C方法被config方法替換

數(shù)據(jù)庫配置單獨在database.php中,想獲取參數(shù)使用

config('database.prefix')

頁面中目前有自定義常量的方法,使用配置的方法類似之前版本

如果需要全局替換的話,可以直接在配置文件中添加:

'view_replace_str'??=>??[ ????'__PUBLIC__'=>'/public/', ????'__ROOT__'?=>?'/', ]

或者直接使用常量配置

{$Think.config.PUBLIC}

默認的引擎標簽可修改,也就是之前的這種可以繼續(xù)用

????????//?模板引擎普通標簽開始標記 ????????'tpl_begin'????=>?'{', ????????//?模板引擎普通標簽結(jié)束標記 ????????'tpl_end'??????=>?'}', ????????//?標簽庫標簽開始標記 ????????'taglib_begin'?=>?'{', ????????//?標簽庫標簽結(jié)束標記 ????????'taglib_end'???=>?'}',

本文來自thinkphp框架技術(shù)文章欄目:http://www.php.cn/phpkj/thinkphp/

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊5 分享