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