Yii - Alias

Alias ​​membantu Anda untuk tidak melakukan hard-code pada jalur absolut atau URL dalam proyek Anda. Alias ​​dimulai dengan karakter @.

Untuk mendefinisikan sebuah alias Anda harus memanggil Yii::setAlias() metode -

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

Anda juga bisa mendapatkan alias baru dari yang sudah ada -

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

Anda bisa memanggil metode Yii :: setAlias ​​() dalam skrip entri atau dalam properti yang dapat ditulis yang disebut alias dalam konfigurasi aplikasi -

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

Untuk mengatasi alias, Anda harus memanggil metode Yii :: getAlias ​​().

Yii telah mendefinisikan alias berikut -

  • @app - Jalur dasar aplikasi.

  • @yii - Folder tempat file BaseYii.php berada.

  • @webroot - Direktori root web aplikasi.

  • @web - URL dasar aplikasi.

  • @runtime- Jalur runtime aplikasi. Default-nya adalah @ app / runtime.

  • @vendor- Direktori vendor Komposer. Default-nya adalah @ app / vendor.

  • @npm- Direktori root untuk paket npm. Default-nya adalah @ vendor / npm.

  • @bower- Direktori root untuk paket bower. Default-nya adalah @ vendor / bower.

Sekarang, tambahkan fungsi baru bernama actionAliases () ke SiteController -

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

Pada kode di atas, kami membuat dua alias: @components untuk komponen aplikasi dan @imagesUrl untuk URL tempat kami menyimpan semua gambar aplikasi.

Ketik http: // localhost: 8080 / index.php? R = site / aliases, Anda akan melihat output berikut -