PDA

View Full Version : application component



هزاره سوم
شنبه 16 فروردین 1393, 21:23 عصر
سلام
من داشتم دایکومنت های سایت ایی رو میخوندم به این صفحه که رسیدم متوجه نشدم این بخش چی میگه.
با یه خورده زبانی که بلدم میخونم :خجالت:
کسی میتونه این بخش رو توضیح بده؟

لینک (http://www.yiiframework.com/doc/guide/1.1/en/basics.application)

MMSHFE
یک شنبه 17 فروردین 1393, 01:08 صبح
کامپوننتهای برنامه، بطور کلی دو دسته هستن: یکی اونهایی که توسط خود Yii عرضه شدن (توی مجموعه Zii) و یکی دیگه هم اونهایی که خودتون مینویسید. برای معرفی کامپوننتهای Zii کافیه توی فایل تنظیمات (protected/config/main.php) در قسمت components همونطور که اشاره شده، کامپوننت موردنظر رو اضافه کنید و تنظیماتش رو انجام بدین و برای کامپوننتهای خودتون، باید اونها رو توی پوشه protected/components قرار بدین و بصورت یک کلاس باشه که توی فایلی همنام با خود کلاس ذخیره شده (مثلاً کلاس MyDate توی فایل protected/components/MyDate.php). اینطوری دو راه برای استفاده دارین.
راه اول، دسترسی مستقیم با کمک قابلیت Lazy Loading خود Yii هست. مثلاً اگه توی کدتون بگین:

echo MyDate::format('H:i:s', time());
خود Yii میاد کلاس MyDate شما رو (فایل MyDate.php) پیدا میکنه و Load میکنه و میتونید متد format رو صدا بزنید.
راه دوم استفاده از کلاس بصورت کامپوننت هست که همه جا قابل استفاده باشه. برای این کار توی تنظیمات، کلاستون رو بعنوان کامپوننت معرفی میکنید:

'components' => array(
'MyDate' => array(
'class' => 'application.components.MyDate',
),
),
و حالا همه جای برنامه میتونید اینطوری کار کنید:

Yii::app()->MyDate->format('H:i:s', time());