yii2系統定義的常用路徑別名


  • @yii 表示Yii框架所在的目錄,也是 yii\BaseYii 類文件所在的位置;
  • @app 表示正在運行的應用的根目錄,一般是 digpage.com/frontend ;物理路徑
  • @vendor 表示Composer第三方庫所在目錄,一般是 @app/vendor 或 @app/../vendor ;
  • @bower 表示Bower第三方庫所在目錄,一般是 @vendor/bower ;
  • @npm 表示NPM第三方庫所在目錄,一般是 @vendor/npm ;
  • @runtime 表示正在運行的應用的運行時用於存放運行時文件的目錄,一般是 @app/runtime ;
  • @webroot 表示正在運行的應用的入口文件 index.php 所在的目錄,一般是 @app/web;物理路徑
  • @web URL別名,表示當前應用的根URL,主要用於前端。相對路徑
  • @common 表示通用文件夾;
  • @frontend 表示前台應用所在的文件夾;
  • @backend 表示后台應用所在的文件夾;
  • @console 表示命令行應用所在的文件夾;
  • 其他使用Composer安裝的Yii擴展注冊的二級別名

Yii使用 Yii::$aliases[] 來保存別名

Yii::setAlias() 定義別名

Yii::getAlias()獲取別名

例如:

dirname(Yii::$app->request->getScriptFile())
Yii::getAlias("@webroot")

這兩個的返回值是一樣的

@webroot這個別名是在yiisoft/yii2/web/Application.php中定義的

小結

  • 別名需在使用前定義,因此通常來講,定義別名應當在放在應用的初始化階段。
  • 別名必然以 @ 打頭。
  • 別名的定義可以使用之前已經定義過的別名。
  • 別名在儲存時,至多只分成兩級,第一級的鍵是根別名。 第二級別名的鍵是完整的別名,而不是去除根別名后剩下的所謂的“二級”別名。
  • Yii通過分層的樹結構來保存別名最主要是為高效檢索作准備。
  • 很多地方可以直接使用別名,而不用調用 Yii::getAlias() 轉換成真實的路徑或URL。如Yii::getAlias("@app")
  • 別名解析時,優先匹配較長的別名。
  • Yii預定義了許多常用的別名供編程時使用。
  • 使用別名時,要將別名放在最前面,不能放在中間。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM