Yii - pseudonimy

Aliasy pomagają nie zakodować na stałe bezwzględnych ścieżek ani adresów URL w projekcie. Alias ​​zaczyna się od znaku @.

Aby zdefiniować alias, należy wywołać rozszerzenie Yii::setAlias() metoda -

// an alias of a file path
Yii::setAlias('@alias', '/path/to/alias');
// an alias of a URL
Yii::setAlias('@urlAlias', 'http://www.google.com');

Możesz również uzyskać nowy alias z istniejącego -

Yii::setAlias('@pathToSomewhere', '@alias/path/to/somewhere');

Możesz wywołać metodę Yii :: setAlias ​​() w skrypcie wejściowym lub we właściwości zapisywalnej zwanej aliasami w konfiguracji aplikacji -

$config = [
   'id' => 'basic',
   'basePath' => dirname(__DIR__),
   'bootstrap' => ['log'],
   'components' => [
      'aliases' => [
         '@alias' => '/path/to/somewhere',
         '@urlAlias' => 'http://www.google.com',
      ],
      //other components...
   ]
]

Aby rozwiązać alias, powinieneś wywołać metodę Yii :: getAlias ​​().

Yii wstępnie definiuje następujące aliasy -

  • @app - Podstawowa ścieżka aplikacji.

  • @yii - Folder, w którym znajduje się plik BaseYii.php.

  • @webroot - Katalog główny aplikacji w sieci Web.

  • @web - Podstawowy adres URL aplikacji.

  • @runtime- Ścieżka czasu wykonywania aplikacji. Domyślnie @ app / runtime.

  • @vendor- Katalog dostawcy Composer. Domyślnie @ app / vendor.

  • @npm- Katalog główny dla pakietów npm. Domyślnie @ vendor / npm.

  • @bower- Katalog główny dla pakietów bower. Domyślnie @ vendor / bower.

Teraz dodaj nową funkcję o nazwie actionAliases () do elementu SiteController -

public function actionAliases() {
   Yii::setAlias("@components", "@app/components");
   Yii::setAlias("@imagesUrl", "@web/images");
   var_dump(Yii::getAlias("@components"));
   var_dump(Yii::getAlias("@imagesUrl"));
}

W powyższym kodzie utworzyliśmy dwa aliasy: @components dla komponentów aplikacji i @imagesUrl dla adresu URL, w którym przechowywaliśmy wszystkie obrazy aplikacji.

Wpisz http: // localhost: 8080 / index.php? R = site / aliases, zobaczysz następujące dane wyjściowe -