下面由composer教程欄位給大家介紹利用composer實現路由加載,希望對需要的朋友有所幫助!
#本教學範例程式碼見https:/ /github.com/johnlui/My-First-Framework-based-on-Composer
久負盛名的CodeIgniter 框架是許多人的PHP 開發入門框架,同樣也是我開始學習如何從頭開始建立網站的框架。在 CI 中我學到了很多,其中對 MVC 的深入理解和對框架本質的理解對我的影響最大。從使用框架是為了提高開發效率的角度來看,框架的本質就是路由。
推薦 https://github.com/NoahBuscher/Macaw,對應的 Composer 套件為 noahbuscher/macaw 。
下面開始安裝它,更改composer.json:
"require": { "noahbuscher/macaw": "dev-master" },
運行composer install,成功之後得到以下目錄
至此,Macaw 套件安裝成功!
下面,就是見證奇蹟的時刻!我們將賦予 MFFC 生命力,讓它真正地跑起來!
1:新App/config 資料夾,在裡面新建routs.php 文件,內容如下:
2:在入口文件index.php中載入routs. php 檔案
Macaw 的文件位於https://github.com/NoahBuscher/Macaw,請依照你的HTTP 服務軟體類型自行設定偽靜態,其實跟絕大多數框架一樣:「將所有非靜態文件全部指向index.php」。
設定成功後造訪網域:
如果頁面亂碼,請調整編碼為 UTF-8。如果你成功看到以上頁面,那麼恭喜你,路由設定成功!
Macaw 只有一個文件,去除空行總共也就一百行多一點,透過程式碼我們能直接看明白它是怎麼運作的。下面我簡單分析一下:
我們在路由檔案中載入了Macaw 類別:“use NoahBuscher\Macaw\Macaw;”,接著呼叫了兩次靜態方法::get(),這個方法是不存在的,將由MFFC/vendor/codingbean/macaw/Macaw.php 中的__callstatic() 接手。
這個函數接受兩個參數,
__callstatic() 做的事情也很简单,分别将目标URL(即 /fuck)、HTTP方法(即 GET)和回调代码压入
路由文件最后一行的 Macaw::dispatch(); 方法才是真正处理当前 URL 的地方。能直接匹配到的会直接调用回调,不能直接匹配到的将利用正则进行匹配。
以上是教你利用composer實現路由加載的詳細內容。更多資訊請關注PHP中文網其他相關文章!