首先,這個(gè)教程是給擁有ThinkPHP3.2.3基礎(chǔ)的人看的,如果沒有學(xué)過Thinkphp3,也就不建議您這邊直接看這個(gè)教程,應(yīng)該去看更加基礎(chǔ)的教程。
一、ThinkPHP5的入口文件。
學(xué)過ThinkPHP3的人應(yīng)該知道,ThinkPHP3的入口文件就是根目錄的index.php,但是ThinkPHP5的根目錄并沒有index.php這個(gè)文件。他真正的路口文件其實(shí)在public里。
所以想要使用ThinkPHP5,第一步就是修改入口文件,修改入口文件的方式有兩種,
1.是在根目錄中新建一個(gè)index.php文件,然后輸入:
2.刪除public/index.php這個(gè)文件,然后在根目錄新建一個(gè)index.php,輸入:
二、url路由方式。
當(dāng)ThinkPHP5正式啟動后,我想大家都會發(fā)現(xiàn)他運(yùn)行到applicationindexcontrollerIndex.php里的index()這個(gè)函數(shù)了。
但是在ThinkPHP5里,我試用ThinkPHP3中的兼容url,也就是index.php?m=index&c=Index&a=index在這里完全不起作用。
后來查了下官網(wǎng)才知道ThinkPHP5已經(jīng)不支持原來的那種url兼容模式了。改為了index.php?s=/index/Index/index這樣的結(jié)構(gòu)。
三、廢除了C方法,M方法,U方法。
目前這三個(gè)方法是我使用最常用的方法,所以一開始使用ThinkPHP5,我這邊就出現(xiàn)了問題,發(fā)現(xiàn)這三個(gè)方法無法使用了。
取而代之的是config(),Db::name(),與Url()。關(guān)于數(shù)據(jù)庫,ThinkPHP5還提供了一個(gè)助手函數(shù)db,這個(gè)函數(shù)更加接近之前的M方法,可以更方便的查詢:
db('user')->where('id',1)->find();
db('user')->where('status',1)->select();
注意:使用db助手函數(shù)默認(rèn)每次都會重新連接數(shù)據(jù)庫,而使用Db::name或者Db::table方法的話都是單例的。db函數(shù)如果需要采用相同的鏈接,可以傳入第三個(gè)參數(shù),例如:
db('user',[],false)->where('id',1)->find();
db('user',[],false)->where('status',1)->select();
上面的方式會使用同一個(gè)數(shù)據(jù)庫連接,第二個(gè)參數(shù)為數(shù)據(jù)庫的連接參數(shù),留空表示采用數(shù)據(jù)庫配置文件的配置。
四、調(diào)用模板的方式發(fā)生了變化
我在使用ThinkPHP3的時(shí)候,最經(jīng)常使用的方法是$this -> display(),但是當(dāng)我們使用ThinkPHP5時(shí),會發(fā)現(xiàn)這個(gè)方法完全不能使用,取而代之的是$this -> fetch(),
并且需要使用在Control的return中,例如:
namespace indexappcontroller;
class Index extends thinkController
{
public function index()
{
// 模板輸出
return $this->fetch();
}
}
五、debug功能的啟動
ThinkPHP3的debug功能是默認(rèn)打開的,但是ThinkPHP5的debug功能卻是默認(rèn)關(guān)閉的,打開方式是修改配置文件,添加兩個(gè)配置項(xiàng)。
'app_debug'? ? ? ? ? ? => true,//啟動debug功能
'show_error_msg'? ? ? ? => true,//啟動錯(cuò)誤輸出功能
文章來源:武漢APP開發(fā) http://www.worldflying.cn/article-id-20.html