別名用來表示檔案路徑和 url,這樣就避免了在**中硬編碼一些絕對路徑和 url。 乙個別名必須以 @ 字元開頭,以區別於傳統的檔案路徑和 url。 沒有前導 @ 定義的別名將以 @ 字元作為字首
注意: yii::getalias() 並不檢查結果路徑/url 所指向的資源是否真實存在。
#你可以呼叫 yii::setalias() 來給檔案路徑或 url 定義別名:
// url 的別名 d:\webroot\nbhuin\xjl\api\common
yii:
:setalias
('@common'
,dirname
(__dir__))
;// 檔案路徑的別名 /path/to/foo
yii:
:setalias
('@foo'
,'/path/to/foo');
#你還可以用別名去定義新別名(根別名與衍生別名均可): /path/to/foo/bar
yii:
:setalias
('@foobar'
,'@foo/bar');
// 包含 \foo\bar 類的具體檔案的別名 /definitely/not/foo/bar.php
yii:
:setalias
('@foo/bar.php'
,'/definitely/not/foo/bar.php'
);
#你可以呼叫 yii::getalias() 命令來解析根別名到對應的檔案路徑或 url。 同樣的頁面也可以用於解析衍生別名。例如:
yii:
:getalias
('@common');
#根別名可能也會包含斜槓 /。 yii::getalias() 足夠智慧型到判斷乙個別名中的哪部分是根別名,因此能正確解析檔案路徑/url。 例如:
yii:
:setalias
('@foo'
,'/path/to/foo');
yii:
:setalias
('@foo/bar'
,'/path2/bar');
echo yii:
:getalias
('@foo/test/file.php');
// 輸出:/path/to/foo/test/file.php
echo yii:
:getalias
('@foo/bar/file.php');
// 輸出:/path2/bar/file.php
yii
預定義了一系列別名來簡化常用路徑和 url 的使用:
@webroot
,當前執行的web應用程式的web根目錄。 它是根據包含 入口指令碼 的目錄確定的
@web
,當前執行的web應用程式的 base url。它的值與[yii\web\request::$baseurl]
相同。
@bower
,包含 bower 包 的根目錄。預設為
@vendor/bower
。@npm
,包含 npm 包 的根目錄。預設為@vendor/npm
。
@yii
別名是在入口指令碼裡包含yii.php
檔案時定義的, 其他的別名都是在配置應用的時候, 於應用的構造方法內定義的。
每乙個通過 composer 安裝的 擴充套件 都自動新增了乙個別名。 該別名會以該擴充套件在 composer.json 檔案中所宣告的根命名空間為名, 且他直接代指該包的根目錄。例如,如果你安裝有 yiisoft/yii2-jui 擴充套件,會自動得到 @yii/jui 別名, 它定義於引導啟動階段:
yii::setalias('@yii/jui', 'vendorpath/yiisoft/yii2-jui');
Yii原始碼解讀 別名
設定別名的目的 特殊的變數常量 yii baseyii aliases儲存整個yii應用的所有別名。webroot web最後乙個藏有別名的地方 verdor yiisoft extensions.phpyii aliases來儲存別名 yii setalias alias path 來定義別名。這...
yii框架學習(一)yii框架介紹
yii幾乎擁有了當今web2.0應用發展的全部特性。下面是這些特性的乙個簡短的清單。yii是乙個基於元件 用於開發大型web應用的高效能php框架。在web開發中yii可以最大限度的實現 重用,極大的提高開發的速度。名字yii 讀音是yee or ji 應該就是 易 的讀音 代表的是容易 easy ...
yii別名的定義和別名的獲取以及別名的使用
1.別名的定義規則 別名用來表示檔案路徑和 url,這樣就避免了在 中硬編碼一些絕對路徑和 url。乙個別名必須以 字元開頭,以區別於傳統的檔案路徑和 url。沒有前導 定義的別名將以 字元作為字首。在配置檔案中定義別名 2.配置檔案main local.php中定義 aliases linchen...