路由(Route)
Web開發中不可避免的要使用到URL。用得最多的,就是產生一個指向應用程式中其他某個頁面的URL了。開發者需要一個簡潔的、集中的、統一的方法來完成這個過程。
否則的話,在程式碼中寫入大量的諸如http://www.digpage.com/post/view/100 的程式碼,一是過於冗長,二是易出錯且難排查, 三是日後修改起來容易有遺漏。 (建議學習:yii教學)
因此,從開發角度來講,需要更簡潔、能統一管理又能排查錯誤的解決方案。
同時,我們在 :ref:install 部分講解如何為Yii配置Web伺服器,從中可以發現, 所有的使用者請求都是發送給入口腳本 index.php 來處理的。
那麼,開發者需要一種高效的判斷請求應採用哪個 controller 哪個 action 進行處理的方法。
結合以上2點需求,Yii提供了路由和URL管理元件。
所謂路由是指URL中用來標識用於處理使用者請求的module, controller, action的部分,一般情況下由 r 查詢參數來指定。
如 http://www.digpage.com/index.php?r=post/view&id=100 ,表示這個要求將由PostController 的 actionView來處理。
同時,Yii也提供了一種美化URL的功能,讓上面的URL可以用一個比較整潔、美觀的形式表現出來, 如http://www.digpage.com/post/view/ 100 。這個功能的實作是依賴一個稱為 urlManager 的應用元件。
使用 urlManager 開發者可以解析使用者的請求,並指派對應的module, controller和action來進行處理, 也可以根據預義的路由規則,產生需要的URL回傳給使用者使用。
簡而言之,urlManger具有解析請求以便確定指派誰來處理請求和根據路由規則產生URL 2個功能。
以上是yii2路由怎麼實現的的詳細內容。更多資訊請關注PHP中文網其他相關文章!