Как создать/установить псевдоним (алиас) пути в Yii 2

Для того чтобы создать псевдоним (алиас) пути используется метод Yii::setAlias():

// псевдоним пути к папке
Yii::setAlias('@myalias', '/path/to/myfolder');
// псевдоним пути к папке на основе другого псевдонима Yii::setAlias('@img', '@myalias/path/to/img');
// псевдоним URL Yii::setAlias('@mysite', 'http://mysite.com');

Псевдонимы путей в yii2 можно задать в файле конфигураций приложения с помощью свойства aliases, пример:

return [
    // ...
    'aliases' => [
        '@myalias' => '/path/to/myfolder',
        '@mysite' => 'http://mysite.com'
    ],
];

Как получить псевдоним (алиас) пути в Yii 2

Для того чтобы получить псевдоним пути в yii2 используеться метод Yii::getAlias():

echo Yii::getAlias('@myalias');                        // вернет: /path/to/myfolder
echo Yii::getAlias('@mysite');                         // вернет: http://mysite.com
echo Yii::getAlias('@myalias/other/folder/index.php'); // вернет: /path/to/myfolder/other/folder/index.php

Дополнительно о псевдонимах путей в Yii 2

Имя псевдонима

Имя псевдонима может содержать /, при этом метод Yii::getAlias() определит какая часть является именем псевдонима, а какая добавочным путем, например:

Yii::setAlias('@test', '/path/to/test');
Yii::setAlias('@test/val', '/path/to/val');
Yii::getAlias('@test/folder/index.php');  // вернет: /path/to/test/folder/index.php
Yii::getAlias('@test/val/index.php');   // вернет: /path/to/val/index.php

Если бы в строке 2 небыл определен алиас @test/val, то строка 4 вернула бы /path/to/test/val/index.php

Псевдонимы расширений

При установке расширения с помощью composer, для него автоматически задается псевдоним (путь к корневой директории расширения). Например при установке imperavi redactor (vova07/yii2-imperavi-widget), вам будет доступен псевдоним пути @vova07/imperavi (@vendor/vova07/yii2-imperavi-widget/src)

Псевдонимы (алиасы) путей в Yii 2 basic приложении

Список основных, заранее заданных псевдонимов (алиасов) путей в yii2 basic:

  • @app: Корневой каталог приложения
  • @vendor: Папка vendor, под @app
  • @runtime: Путь к временным файлам приложения runtime/cache
  • @web: Базовый URL приложения
  • @webroot: Webroot приложения
  • @tests: Каталог с тестами приложения

Псевдонимы (алиасы) путей в Yii 2 advanced приложении

Список основных, заранее заданных псевдонимов (алиасов) путей в yii2 advanced:

  • @app: Корневой каталог приложения
  • @vendor: Папка vendor, под @app
  • @runtime: Путь к временным файлам приложения runtime/cache
  • @web: Базовый URL приложения
  • @webroot: Каталог с тестами приложения
  • @tests: Каталог с тестами приложения
  • @common: Псевдоним (алиас) для common (общей) директории под @app
  • @frontend: Псевдоним (алиас) для frontend директории, под @app
  • @backend: Псевдоним (алиас) для backend директории, под @app
  • @console: Псевдоним (алиас) для console директории, под @app