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: