Yii - Aliase

Aliase helfen Ihnen dabei, absolute Pfade oder URLs in Ihrem Projekt nicht fest zu codieren. Ein Alias ​​beginnt mit dem @ -Zeichen.

Um einen Alias ​​zu definieren, sollten Sie das aufrufen Yii::setAlias() Methode -

// an alias of a file path
Yii::setAlias('@alias', '/path/to/alias');
// an alias of a URL
Yii::setAlias('@urlAlias', 'http://www.google.com');

Sie können auch einen neuen Alias ​​von einem vorhandenen ableiten -

Yii::setAlias('@pathToSomewhere', '@alias/path/to/somewhere');

Sie können die Yii :: setAlias ​​() -Methode im Eingabeskript oder in einer beschreibbaren Eigenschaft namens Aliase in der Anwendungskonfiguration aufrufen.

$config = [
   'id' => 'basic',
   'basePath' => dirname(__DIR__),
   'bootstrap' => ['log'],
   'components' => [
      'aliases' => [
         '@alias' => '/path/to/somewhere',
         '@urlAlias' => 'http://www.google.com',
      ],
      //other components...
   ]
]

Um einen Alias ​​aufzulösen, sollten Sie die Methode Yii :: getAlias ​​() aufrufen.

Yii definiert die folgenden Aliase vor -

  • @app - Der Basispfad der Anwendung.

  • @yii - Der Ordner, in dem sich die BaseYii.php-Datei befindet.

  • @webroot - Das Webstammverzeichnis der Anwendung.

  • @web - Die Basis-URL der Anwendung.

  • @runtime- Der Laufzeitpfad der Anwendung. Der Standardwert ist @ app / runtime.

  • @vendor- Das Composer-Herstellerverzeichnis. Der Standardwert ist @ app / vendor.

  • @npm- Das Stammverzeichnis für npm-Pakete. Der Standardwert ist @ vendor / npm.

  • @bower- Das Stammverzeichnis für Bower-Pakete. Der Standardwert ist @ vendor / bower.

Fügen Sie nun dem SiteController eine neue Funktion namens actionAliases () hinzu -

public function actionAliases() {
   Yii::setAlias("@components", "@app/components");
   Yii::setAlias("@imagesUrl", "@web/images");
   var_dump(Yii::getAlias("@components"));
   var_dump(Yii::getAlias("@imagesUrl"));
}

Im obigen Code haben wir zwei Aliase erstellt: @components für Anwendungskomponenten und @imagesUrl für URL, in denen wir alle Anwendungsbilder gespeichert haben.

Geben Sie http: // localhost: 8080 / index.php? R = site / aliases ein. Die folgende Ausgabe wird angezeigt: