کامپوننتهای برنامه، بطور کلی دو دسته هستن: یکی اونهایی که توسط خود 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());