Учебники

Yii — псевдонимы

Псевдонимы помогут вам не жестко кодировать абсолютные пути или 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, вы увидите следующий вывод —