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 -