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 -