當一個YII應用程式開始處理一個請求的時候,它首先要做的便是將請求的URL轉換成一個路由。路由的作用是用於後續實例化對應的控制器和操作,以便處理請求,整個處理過程便叫做路由。
路由的逆過程叫做URL生成,是指用給定的路由和參數資訊來產生一個URL。 (建議學習:yii架構)
當使用產生的URL來發出請求的時候,由路由處理的過程能再次將其解析還原出原始的路由與參數資訊。
主要負責路由和URL產生工作的是URL管理器,其被註冊成為應用元件。
URL管理器提供方法parseRequest()來解析請求,解析出其中的路由和參數資訊。而方法 createUrl() 用於將給定的路由和參數訊息,產生一個URL。 透過在應用程式設定中設定URL管理器,可以讓你的應用程式能夠辨識任意的URL格式,而不用修改已有程式碼。
例如,你能使用如下的程式碼來產生一個URL。
use yii\helpers\Url; // Url::to() calls UrlManager::createUrl() to create a URL $url = Url::to(['post/view', 'id' => 100]);
取決於URL管理器的配置,如上程式碼產生的URL的樣子看起來像下面這樣的。
假如這個URL後續被要求的話,它將被解析成上面的原始路由和參數資訊。
/index.php?r=post/view&id=100 /index.php/post/100 /posts/100
預設路由
當一個請求沒有找到符合的路由的時候,所謂的預設路由將會被取代使用。預設情況下,預設路由為site/index,其指向控制器site下面的操作index。你也可以透過修改應用程式配置中屬性defaultRoute來指定它,就像下面這樣:
[ // ... 'defaultRoute' => 'main/index', ];
以上是yii框架的路由在哪的詳細內容。更多資訊請關注PHP中文網其他相關文章!