
نام های مستعار یا Alias ها در فریمورک Yii
Alias یا نام مستعار شما را از نوشتن کدهای سخت برای path ها و Url های طولانی در پروژه راحت می کند. یک alias با حرف @ شروع می شود.
برای تعریف یک alias باید متد Yii::setAlias() فراخوانی کنید :
// an alias of a file path
Yii::setAlias('@alias', '/path/to/alias');
// an alias of a URL
Yii::setAlias('@urlAlias', 'http://www.google.com');
شما می توانید یک alias جدید را از یک alias موجود ایجاد کنید :
Yii::setAlias('@pathToSomewhere', '@alias/path/to/somewhere');
شما می توانید متد Yii::setAlias() را در دو جا فراخوانی کنید:
- در اسکریپت ورودی
- در یک property به نام aliases با قابلیت writable در پیکربندی برنامه (application configuration)
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'components' => [
'aliases' => [
'@alias' => '/path/to/somewhere',
'@urlAlias' => 'http://www.google.com',
],
//other components...
]
]
برای دستیابی به alias ها باید متد Yii::getAlias() را فراخوانی کنید.
Alias های زیر در فریمورک Yii از قبل تعریف شده اند:
- @app - مسیر پایه برنامه (base path).
- @yii - پوشه ای که فایل BaseYii.php در آن قرار گرفته است.
- @webroot - دایرکتوری ریشه ی وب (Web root) برنامه.
- @web - آدرس اصلی برنامه (base URL).
- @runtime - مسیر runtime برنامه. پیش فرض آن @app/runtime است.
- @vendor - دایرکتوری Composer vendor. پیش فرض آن @app/vendor است.
- @npm - دایرکتوری ریشه ی پکیج های npm. پیش فرض آن @vendor/npm است.
- @bower – دایرکتوری ریشه ی پکیج های bower. پیش فرض آن @vendor/bower است.
حالا یک تابع جدید به نام actionAliases() به SiteController اضافه کنید :
public function actionAliases() {
Yii::setAlias("@components", "@app/components");
Yii::setAlias("@imagesUrl", "@web/images");
var_dump(Yii::getAlias("@components"));
var_dump(Yii::getAlias("@imagesUrl"));
}
در کد بالا، ما دو alias ایجاد کردیم :
- @components : برای component های برنامه
- @imagesUrl : برای Url همه ی تصاویر برنامه
در مرورگر وب تان آدرس http://localhost:8080/index.php?r=site/aliases را تایپ کنید، آنچه که مشاهده می کنید مطابق با تصویر زیر می باشد:
این فصل در یک نگاه:
…
سلام . پیشنهاد میکنم حتما دموی دوره رو مشاهده کنید درباره فریم ورک Yii: در پاسخ به سوالات : آیا این فریم ورک سریع است؟ آیا این یک فریم ورک امن است؟ آیا این یک فریم ورک حرفه ای است؟ آیا ا…این فصل در یک نگاه:
…
پیشنهاد میکنیم دمو دوره رو حتما مشاهده کنید با سلام خدمت دوستان عزیز . ابتدا عرض کنم که این دوره برای دوستانی آماده شده که میخوان وب اپلیکیشن های مدرنی رو طراحی بکنن و وارد بازار کار ط…