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