Yii - Takma Adlar
Takma adlar, projenizdeki mutlak yolları veya URL'leri sabit kodlamamanıza yardımcı olur. Bir takma ad @ karakteriyle başlar.
Bir takma ad tanımlamak için, Yii::setAlias() yöntem -
// an alias of a file path
Yii::setAlias('@alias', '/path/to/alias');
// an alias of a URL
Yii::setAlias('@urlAlias', 'http://www.google.com');
Ayrıca mevcut bir takma addan yeni bir takma ad elde edebilirsiniz -
Yii::setAlias('@pathToSomewhere', '@alias/path/to/somewhere');
Yii :: setAlias () yöntemini giriş betiğinde veya uygulama yapılandırmasında takma adlar adı verilen yazılabilir bir özellikte çağırabilirsiniz -
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'components' => [
'aliases' => [
'@alias' => '/path/to/somewhere',
'@urlAlias' => 'http://www.google.com',
],
//other components...
]
]
Diğer adı çözümlemek için Yii :: getAlias () yöntemini çağırmalısınız.
Yii, aşağıdaki takma adları önceden tanımlar -
@app - Uygulamanın temel yolu.
@yii - BaseYii.php dosyasının bulunduğu klasör.
@webroot - Uygulamanın Web kök dizini.
@web - Uygulamanın temel URL'si.
@runtime- Uygulamanın çalışma zamanı yolu. @ App / runtime varsayılanıdır.
@vendor- Composer satıcı dizini. @ App / vendor'a varsayılan.
@npm- npm paketlerinin kök dizini. @ Vendor / npm için varsayılan.
@bower- Bower paketleri için kök dizin. @ Vendor / bower için varsayılan.
Şimdi, SiteController'a actionAliases () adlı yeni bir işlev ekleyin -
public function actionAliases() {
Yii::setAlias("@components", "@app/components");
Yii::setAlias("@imagesUrl", "@web/images");
var_dump(Yii::getAlias("@components"));
var_dump(Yii::getAlias("@imagesUrl"));
}
Yukarıdaki kodda iki takma ad oluşturduk: uygulama bileşenleri için @ bileşenleri ve tüm uygulama görüntülerini sakladığımız URL için @imagesUrl.
Http: // localhost: 8080 / index.php? R = site / aliases yazın, aşağıdaki çıktıyı göreceksiniz -