Yii - Aliases
Aliases ajudam a não codificar caminhos absolutos ou URLs em seu projeto. Um alias começa com o caractere @.
Para definir um alias, você deve chamar o Yii::setAlias() método -
// an alias of a file path
Yii::setAlias('@alias', '/path/to/alias');
// an alias of a URL
Yii::setAlias('@urlAlias', 'http://www.google.com');
Você também pode derivar um novo alias de um existente -
Yii::setAlias('@pathToSomewhere', '@alias/path/to/somewhere');
Você pode chamar o método Yii :: setAlias () no script de entrada ou em uma propriedade gravável chamada aliases na configuração do aplicativo -
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'components' => [
'aliases' => [
'@alias' => '/path/to/somewhere',
'@urlAlias' => 'http://www.google.com',
],
//other components...
]
]
Para resolver o alias, você deve chamar o método Yii :: getAlias ().
Yii predefine os seguintes aliases -
@app - O caminho básico do aplicativo.
@yii - A pasta onde o arquivo BaseYii.php está localizado.
@webroot - O diretório raiz da Web do aplicativo.
@web - O URL base do aplicativo.
@runtime- O caminho de tempo de execução do aplicativo. O padrão é @ app / runtime.
@vendor- O diretório de fornecedores do Composer. O padrão é @ app / vendor.
@npm- O diretório raiz para pacotes npm. O padrão é @ vendor / npm.
@bower- O diretório raiz para pacotes bower. O padrão é @ vendor / bower.
Agora, adicione uma nova função chamada actionAliases () ao SiteController -
public function actionAliases() {
Yii::setAlias("@components", "@app/components");
Yii::setAlias("@imagesUrl", "@web/images");
var_dump(Yii::getAlias("@components"));
var_dump(Yii::getAlias("@imagesUrl"));
}
No código acima, criamos dois aliases: @components para componentes do aplicativo e @imagesUrl para URL onde armazenamos todas as imagens do aplicativo.
Digite http: // localhost: 8080 / index.php? R = site / aliases, você verá a seguinte saída -