前言php
在項目中,推薦使用 Yii2 內置的 URL 工具類生成連接,這樣能夠很是便捷的管理整站的 URL 行爲:好比經過修改配置改變整站的URL格式等。URL 更多高級的用法參見官方文檔,這篇文章僅僅介紹 Yii2 生成 URL 的幾種方式。web
Yii2 默認的 URL 連接格式數組
Yii2 默認的 URL 連接格式是指爲開啓 URL 美化時的格式。app
未啓用子模塊的 URL 格式:yii
|
啓用了子模塊的 URL 格式:spa
|
Yii2 內置的 URL 生成工具
URL 管理器:urlManager
URL 助手類:yii\helpers\Url
使用內置的 URL 生成工具,之後能夠在不改變源碼的狀況經過配置便可美化整站的 URL
URL 管理器
URL 管理器是一個名叫 urlManager 的內置應用組件。在 WEB 應用和控制檯應用中以經過如下兩種方式建立 URL:
\Yii::$app->urlManager->createUrl($params)
\Yii::$app->urlManager->createAbsoluteUrl($params, $schema = null)
createUrl
方法生成根目錄的相對路徑,例如:/index.php?r=article/view
createAbsoluteUrl()
方法生成的是絕對路徑,例如:http://www.example.com/index.php?r=article/view
常見的利用 URL 管理器建立 URL 的例子:
|
URL 助手類
相對於 URL管理器,使用 yii\helpers\Url
助手類可大大簡化 URL 的建立。
1. 假設當前 URL /index.php?r=kernel/article/view&id=10
,如下說明 URL 助手類 Url::to()
是如何工做的(不推薦):
|
2. 假設當前 URL /index.php?r=kernel/article/view&id=10
,如下說明 URL 助手類 Url::toRoute()
方法是如何工做的(推薦):
|
3. 假設當前 URL /index.php?r=kernel/article/view&id=10
,如下說明 URL 助手類 Url::current()
方法是如何工做的(推薦):
// 建立當前 URL(包括路由和參數)
// 顯示:/?r=kernel/article/view&id=10
echo
Url::current();
// 移除參數 id
// 顯示:/?r=kernel/article/view
echo
Url::current([
'id'
=>null]);
// 新增參數 cat
// 顯示:/?r=kernel/article/view&id=10&cat=2
echo
Url::current([
'cat'
=>2]);
Detect languageAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu |
|
AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu |
|
|
|
|
|