Yii - Alias
Gli alias ti aiutano a non codificare percorsi assoluti o URL nel tuo progetto. Un alias inizia con il carattere @.
Per definire un alias dovresti chiamare il file Yii::setAlias() metodo -
// an alias of a file path
Yii::setAlias('@alias', '/path/to/alias');
// an alias of a URL
Yii::setAlias('@urlAlias', 'http://www.google.com');
Puoi anche derivare un nuovo alias da uno esistente:
Yii::setAlias('@pathToSomewhere', '@alias/path/to/somewhere');
È possibile chiamare il metodo Yii :: setAlias () nello script di immissione o in una proprietà scrivibile chiamata alias nella configurazione dell'applicazione -
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'components' => [
'aliases' => [
'@alias' => '/path/to/somewhere',
'@urlAlias' => 'http://www.google.com',
],
//other components...
]
]
Per risolvere l'alias, è necessario chiamare il metodo Yii :: getAlias ().
Yii predefinisce i seguenti alias:
@app - Il percorso di base dell'applicazione.
@yii - La cartella in cui si trova il file BaseYii.php.
@webroot - La directory principale Web dell'applicazione.
@web - L'URL di base dell'applicazione.
@runtime- Il percorso di runtime dell'applicazione. Il valore predefinito è @ app / runtime.
@vendor- La directory dei fornitori di Composer. Il valore predefinito è @ app / vendor.
@npm- La directory principale per i pacchetti npm. Il valore predefinito è @ vendor / npm.
@bower- La directory principale per i pacchetti bower. Il valore predefinito è @ vendor / bower.
Ora aggiungi una nuova funzione chiamata 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"));
}
Nel codice precedente, abbiamo creato due alias: @components per i componenti dell'applicazione e @imagesUrl per l'URL in cui abbiamo archiviato tutte le immagini dell'applicazione.
Digita http: // localhost: 8080 / index.php? R = site / aliases, vedrai il seguente output: