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 -