Псевдонимы помогут вам не жестко кодировать абсолютные пути или URL-адреса в вашем проекте. Псевдоним начинается с символа @.
Чтобы определить псевдоним, вы должны вызвать метод Yii :: setAlias () —
// an alias of a file path
Yii::setAlias('@alias', '/path/to/alias');
// an alias of a URL
Yii::setAlias('@urlAlias', 'http://www.google.com');
Вы также можете получить новый псевдоним из существующего —
Yii::setAlias('@pathToSomewhere', '@alias/path/to/somewhere');
Вы можете вызвать метод Yii :: setAlias () в скрипте ввода или в доступном для записи свойстве под названием aliases в конфигурации приложения —
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'components' => [
'aliases' => [
'@alias' => '/path/to/somewhere',
'@urlAlias' => 'http://www.google.com',
],
//other components...
]
]
Чтобы разрешить псевдоним, вы должны вызвать метод Yii :: getAlias ().
Yii предопределяет следующие псевдонимы —
- @app — базовый путь к приложению.
- @yii — папка, в которой находится файл BaseYii.php.
- @webroot — корневой веб-каталог приложения.
- @web — базовый URL-адрес приложения.
- @runtime — путь выполнения приложения. По умолчанию @ app / runtime.
- @vendor — каталог поставщиков Composer. По умолчанию используется @ app / vendor.
- @npm — корневой каталог для пакетов npm. По умолчанию @ vendor / npm.
- @bower — корневой каталог для пакетов bower . По умолчанию используется @ vendor / bower.
@app — базовый путь к приложению.
@yii — папка, в которой находится файл BaseYii.php.
@webroot — корневой веб-каталог приложения.
@web — базовый URL-адрес приложения.
@runtime — путь выполнения приложения. По умолчанию @ app / runtime.
@vendor — каталог поставщиков Composer. По умолчанию используется @ app / vendor.
@npm — корневой каталог для пакетов npm. По умолчанию @ vendor / npm.
@bower — корневой каталог для пакетов bower . По умолчанию используется @ vendor / bower.
Теперь добавьте новую функцию actionAliases () в SiteController —
public function actionAliases() {
Yii::setAlias("@components", "@app/components");
Yii::setAlias("@imagesUrl", "@web/images");
var_dump(Yii::getAlias("@components"));
var_dump(Yii::getAlias("@imagesUrl"));
}
В приведенном выше коде мы создали два псевдонима: @components для компонентов приложения и @imagesUrl для URL, где мы сохранили все изображения приложения.