- Как задать псевдоним пути в yii2
- Как получить псевдоним пути в yii2
- Дополнительно о псевдонимах путей
- Псевдонимы путей в yii2 basic
- Псевдонимы (алиасы) путей в yii2 advanced
Как создать/установить псевдоним (алиас) пути в 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
Комментарии
У вас наверное опечатка если я не ошибаюсь:
: Каталог с тестами приложения: Каталог с тестами приложенияОтветить
Добрый день.
ОтветитьЯ задаю свои алиасы в файле common/config/bootstrap.php
Когда запускаю консольное приложение. В контроллере получаю алиас через Yii::getAlias('@qwe')
На моей рабочей станции (windows7, php5.6) все работает норм, на сервере (ubuntu 16, php7) возвращает пустую строку.
Причем, если убрать знак "собака". Yii::getAlias('qwe'), то на сервере все норм, а на рабочей станции возвращает пустую строку. Подскажите пожалуйста, в чем может быть проблема?
Добрый день.
ОтветитьУ меня такая проблема:
В common/config/bootsrap.php создал alias в котором нужно хранить фотографии, но есть проблема:
- если скрипт работает на frontend - тогда @папка создается в одном месте
- а если скрипт рабоатет на backend - тогда @папка создается в другом месте.
Не понимаю что это за магия и как ее решить?