Псевдонимы помогут вам не жестко кодировать абсолютные пути или 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, где мы сохранили все изображения приложения.
Введите http: // localhost: 8080 / index.php? R = site / aliases, вы увидите следующий вывод —