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: