- Yii 教程
- Yii - 首頁
- Yii - 概述
- Yii - 安裝
- Yii - 建立頁面
- Yii - 應用結構
- Yii - 入口指令碼
- Yii - 控制器
- Yii - 使用控制器
- Yii - 使用操作
- Yii - 模型
- Yii - 小部件
- Yii - 模組
- Yii - 檢視
- Yii - 佈局
- Yii - 資源
- Yii - 資源轉換
- Yii - 擴充套件
- Yii - 建立擴充套件
- Yii - HTTP 請求
- Yii - 響應
- Yii - URL 格式
- Yii - URL 路由
- Yii - URL 規則
- Yii - HTML 表單
- Yii - 驗證
- Yii - 特設驗證
- Yii - AJAX 驗證
- Yii - 會話
- Yii - 使用快閃記憶體資料
- Yii - Cookie
- Yii - 使用 Cookie
- Yii - 檔案上傳
- Yii - 格式化
- Yii - 分頁
- Yii - 排序
- Yii - 屬性
- Yii - 資料提供者
- Yii - 資料小部件
- Yii - ListView 小部件
- Yii - GridView 小部件
- Yii - 事件
- Yii - 建立事件
- Yii - 行為
- Yii - 建立行為
- Yii - 配置
- Yii - 依賴注入
- Yii - 資料庫訪問
- Yii - 資料訪問物件
- Yii - 查詢構建器
- Yii - 活動記錄
- Yii - 資料庫遷移
- Yii - 主題
- Yii - RESTful API
- Yii - RESTful API 實踐
- Yii - 欄位
- Yii - 測試
- Yii - 快取
- Yii - 片段快取
- Yii - 別名
- Yii - 日誌記錄
- Yii - 錯誤處理
- Yii - 身份驗證
- Yii - 授權
- Yii - 本地化
- Yii - Gii
- Gii – 建立模型
- Gii – 生成控制器
- Gii – 生成模組
- Yii 有用資源
- Yii - 快速指南
- Yii - 有用資源
- Yii - 討論
Yii - 別名
別名可以幫助您避免在專案中硬編碼絕對路徑或 URL。別名以 @ 字元開頭。
要定義別名,您應該呼叫 Yii::setAlias() 方法 -
// an alias of a file path
Yii::setAlias('@alias', '/path/to/alias');
// an alias of a URL
Yii::setAlias('@urlAlias', 'http://www.google.com');
您還可以從現有別名派生一個新別名 -
Yii::setAlias('@pathToSomewhere', '@alias/path/to/somewhere');
您可以在入口指令碼或應用程式配置中名為 aliases 的可寫屬性中呼叫 Yii::setAlias() 方法 -
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'components' => [
'aliases' => [
'@alias' => '/path/to/somewhere',
'@urlAlias' => 'http://www.google.com',
],
//other components...
]
]
要解析別名,您應該呼叫 Yii::getAlias() 方法。
Yii 預定義了以下別名 -
@app - 應用程式的基本路徑。
@yii - BaseYii.php 檔案所在的資料夾。
@webroot - 應用程式的 Web 根目錄。
@web - 應用程式的基本 URL。
@runtime - 應用程式的執行時路徑。預設為 @app/runtime。
@vendor - Composer 供應商目錄。預設為 @app/vendor。
@npm - npm 包的根目錄。預設為 @vendor/npm。
@bower - bower 包的根目錄。預設為 @vendor/bower。
現在,向 SiteController 新增一個名為 actionAliases() 的新函式 -
public function actionAliases() {
Yii::setAlias("@components", "@app/components");
Yii::setAlias("@imagesUrl", "@web/images");
var_dump(Yii::getAlias("@components"));
var_dump(Yii::getAlias("@imagesUrl"));
}
在上面的程式碼中,我們建立了兩個別名:@components 用於應用程式元件,@imagesUrl 用於儲存所有應用程式影像的 URL。
輸入 https://:8080/index.php?r=site/aliases,您將看到以下輸出 -
廣告