Yii - Bí danh
Bí danh giúp bạn không mã hóa các đường dẫn hoặc URL tuyệt đối trong dự án của mình. Bí danh bắt đầu bằng ký tự @.
Để xác định một bí danh, bạn nên gọi Yii::setAlias() phương pháp -
// an alias of a file path
Yii::setAlias('@alias', '/path/to/alias');
// an alias of a URL
Yii::setAlias('@urlAlias', 'http://www.google.com');Bạn cũng có thể lấy bí danh mới từ bí danh hiện có -
Yii::setAlias('@pathToSomewhere', '@alias/path/to/somewhere');Bạn có thể gọi phương thức Yii :: setAlias () trong tập lệnh nhập hoặc trong thuộc tính có thể ghi được gọi là bí danh trong cấu hình ứng dụng -
$config = [
   'id' => 'basic',
   'basePath' => dirname(__DIR__),
   'bootstrap' => ['log'],
   'components' => [
      'aliases' => [
         '@alias' => '/path/to/somewhere',
         '@urlAlias' => 'http://www.google.com',
      ],
      //other components...
   ]
]Để giải quyết bí danh, bạn nên gọi phương thức Yii :: getAlias ().
Yii xác định trước các bí danh sau:
- @app - Đường dẫn cơ sở của ứng dụng. 
- @yii - Thư mục chứa tệp BaseYii.php. 
- @webroot - Thư mục gốc Web của ứng dụng. 
- @web - URL cơ sở của ứng dụng. 
- @runtime- Đường dẫn thời gian chạy của ứng dụng. Mặc định là @ app / runtime. 
- @vendor- Thư mục nhà cung cấp Composer. Mặc định là @ app / nhà cung cấp. 
- @npm- Thư mục gốc cho các gói npm. Mặc định là @ nhà cung cấp / npm. 
- @bower- Thư mục gốc cho các gói bower. Mặc định là @ nhà cung cấp / bower. 
Bây giờ, thêm một hàm mới có tên actionAliases () vào SiteController -
public function actionAliases() {
   Yii::setAlias("@components", "@app/components");
   Yii::setAlias("@imagesUrl", "@web/images");
   var_dump(Yii::getAlias("@components"));
   var_dump(Yii::getAlias("@imagesUrl"));
}Trong đoạn mã trên, chúng tôi đã tạo hai bí danh: @components cho các thành phần ứng dụng và @imagesUrl cho URL nơi chúng tôi lưu trữ tất cả hình ảnh ứng dụng.
Gõ http: // localhost: 8080 / index.php? R = site / aliases, bạn sẽ thấy kết quả sau:
