Is it fast? … Is it secure? … Is it professional? … Is it right for my next project? … Yes, it is!
یکی از خواسته های برنامه نویسان و طراحان وب انتخاب یک پلتفرم یا فریمورک یا چهارچوب مناسب برای پیاده سازی سایت ها، برنامه های تحت وب و پرتال ها است. شاید برای کاربران ویندوز عموماً برنامه نویسان asp.net گزینه های زیادی برای انتخاب مطرح نباشد و MS.Net framework به عنوان پلتفرم اصلی مورد استفاده قرار گیرد.اما برای برنامه نویسان جامعه متن باز به خصوص برنامه نویسان php انتخاب یک پلترفرم مناسب مقداری پیچیده است. پیدا کردن پلترم مناسب برای برنامه نویسانی که سطح متوسط برنامه نویسی php را پشت سر گذاشته اند و قصد ورود به فضاهای جدید با قابلیت های پیشرفته را دارند امری مهم به شمار می رود. شاید نام بسیاری از این پلترفرم ها را شنید باشید که البته تعداد آنها کم هم نیستند مانند CakePHP،Prado،Zend،laravel.
فریم ورک yii که مانند حرف e کشیده با تلفظ yee خوانده می شود نیز همانند سایر این برنامه ها یک پلترفرم برای استفاده برنامه نویسان php است که در سال ۲۰۰۸ توسط تعدادی از برنامه نویسان مجرب و حرفه ای که مدت زمان زیادی را بر روی پروژه های توسعه php framework مثل پروژه prado صرف کرده بودند عرضه شد. این پروژه هر چند عمر طولانی ندارد ولی به قدری موثر واقع شد که در مدتی کوتاه توانسته است نظر بسیاری از توسعه دهندگان وب را به خود جلب نماید. yii بسیاری از قابلیتهای پروژه موفق prado را به ارث برده است. yii freamwork یک نرم افزار رایگان است که گواهینامه bsd license را نیز اخذ نموده است.
yii تنها از php نسخه ۵ و بالاتر پشتیبانی می کند. در مقایسه با فریم ورکهایی مانند Cackephp که از php4 نیز پشتیبانی میکند این مسئله یک کمبود به نظر می رسد ولی همیشه اینطور نیست. فریم ورکهایی مانند cackephp برای ایجاد تطابق با نسخه های ۴ ناچارند که خیلی از قابلیت های نسخه ۵ را نادیده بگیرند یا به گونه ای آنها را تغییر دهند که باعث ایجاد تطابق گردد ولی yii freamwork با تمرکز بر روی نسخه ۵ php از همه قابلیتهای آن استفاده می کند و این مسئله در سال ۲۰۱۱ که اکثر میزبانها از php 5 حمایت می کنند نه تنها یک کمبود نیست بلکه یه مزیت به شمار می رود.
در ساخت فریم ورک yii از الگوی طرح MVC استفاده شده است. MVC مدلی است که در مهندسی نرم افزار معرفی می شود و در این مدل اجزا برنامه به سه قسمت اصلی کنترل کننده- مدل- دیدگاه تقسیم می شود و جریان داده ها در آن برقرار می شود. yii تمام قواعد MVC را رعایت کرده است
یک محیط کاملا شی گرا. در yii شی گرایی به عنوان یک اصل اولیه رعایت شده است و دسترسی به همه چیز حتی دسترسی به جداول بانک اطلاعاتی و روباط و … نیز در قالب شی گرایی تعریف می شود که این مسئله در مقابل فریم ورکهایی مثل Cackephp که همچنان ارز دسترسی ها رابطه ای پشتیبانی می کنند یک مزیت عمده است.
از قابلیت برنامه نویسی generic حمایت می کند: generic یک قابلیت برنامه نویسی است که هدف از آن پشتیبانی از انواع داده های ورودی بدون قید محدودیت نوع است و به عنوان یکی از روشهاو تکنیک های نوین برنامه نویسی استفاده می شود.
هماهنگی با jquery :
jquery همانطور که میدانید یک کتابخانه یا فریمورک بر اساس زبان javscript است که قابلیت فوق العاده بصری را در محیط کاری کاربر ایجاد می کند. yii framework با این platform هماهنگی و ارتباط مستقیمی را ایجاد می کند و امکان استفاده از قابلیتهای ajax را فراهم می کند.
استفاده از حالت caching پیشرفته :
yii از یک حالت caching بسیار پیشرفته برای کار با بانک اطلاعاتی استفاده می کند که یک مزیت عمده است و باعث سبک شدن فضای کاری و افزایش بسیار زیاد بازدهی می شود.
منبع : Bisthost.com