Yii - Alias
Los alias lo ayudan a no codificar rutas absolutas o URL en su proyecto. Un alias comienza con el carácter @.
Para definir un alias debe llamar al 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');
También puede derivar un nuevo alias de uno existente:
Yii::setAlias('@pathToSomewhere', '@alias/path/to/somewhere');
Puede llamar al método Yii :: setAlias () en el script de entrada o en una propiedad de escritura llamada alias en la configuración de la aplicación -
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'components' => [
'aliases' => [
'@alias' => '/path/to/somewhere',
'@urlAlias' => 'http://www.google.com',
],
//other components...
]
]
Para resolver el alias, debe llamar al método Yii :: getAlias ().
Yii predefine los siguientes alias:
@app - La ruta base de la aplicación.
@yii - La carpeta donde se encuentra el archivo BaseYii.php.
@webroot - El directorio raíz web de la aplicación.
@web - La URL base de la aplicación.
@runtime- La ruta de tiempo de ejecución de la aplicación. El valor predeterminado es @ app / runtime.
@vendor- El directorio de proveedores de Composer. El valor predeterminado es @ app / vendor.
@npm- El directorio raíz de los paquetes npm. El valor predeterminado es @ vendor / npm.
@bower- El directorio raíz de los paquetes de bower. El valor predeterminado es @ vendor / bower.
Ahora, agregue una nueva función llamada actionAliases () al SiteController -
public function actionAliases() {
Yii::setAlias("@components", "@app/components");
Yii::setAlias("@imagesUrl", "@web/images");
var_dump(Yii::getAlias("@components"));
var_dump(Yii::getAlias("@imagesUrl"));
}
En el código anterior, creamos dos alias: @components para los componentes de la aplicación y @imagesUrl para la URL donde almacenamos todas las imágenes de la aplicación.
Escriba http: // localhost: 8080 / index.php? R = site / aliases, verá el siguiente resultado: