فریم ورک Yii

فریم ورک yii که مانند حرف e کشیده با تلفظ yee خوانده می شود نیز همانند سایر برنامه ها یک پلتفرم برای استفاده برنامه نویسان php است که در سال ۲۰۰۸ توسط تعدادی از برنامه نویسان مجرب و حرفه ای که مدت زمان زیادی را بر روی پروژه های توسعه php framework مثل پروژه prado صرف کرده بودند عرضه شد. این پروژه هر چند عمر طولانی ندارد ولی به قدری موثر واقع شد که در مدتی کوتاه توانسته است نظر بسیاری از توسعه دهندگان وب را به خود جلب نماید. yii بسیاری از قابلیت های پروژه موفق prado را به ارث برده است. yii freamwork یک نرم افزار رایگان است .
yii تنها از php نسخه ۵ و بالاتر پشتیبانی می کند. در مقایسه با فریم ورک هایی مانند Cacke php که از php4 نیز پشتیبانی میکند این مسئله یک کمبود به نظر می رسد ولی همیشه اینطور نیست. فریم ورک هایی مانند cacke php برای ایجاد تطابق با نسخه های ۴ ناچارند که خیلی از قابلیت های نسخه ۵ را نادیده بگیرند یا به گونه ای آنها را تغییر دهند که باعث ایجاد تطابق گردد ولی yii freamwork با تمرکز بر روی نسخه ۵ php از همه قابلیت های آن استفاده می کند و این مسئله در سال ۲۰۱۱ که اکثر میزبان ها از php 5 حمایت می کنند نه تنها یک کمبود نیست بلکه یک مزیت به شمار می رود.
در ساخت فریم ورک yii از الگوی طرح mvc استفاده شده است. mvc مدلی است که در مهندسی نرم افزار معرفی می شود و در این مدل اجزا برنامه به سه قسمت اصلی کنترل کننده- مدل- دیدگاه تقسیم می شود و جریان داده ها در آن برقرار می شود. yii تمام قواعد mvc را رعایت کرده است.
در yii شی گرایی به عنوان یک اصل اولیه رعایت شده است و دسترسی به همه چیز حتی دسترسی به جداول بانک اطلاعاتی و روابط و … نیز در قالب شی گرایی تعریف می شود که این مسئله در مقابل فریم ورک هایی مثل Cacke php که همچنان از دسترسی های رابطه ای پشتیبانی می کنند یک مزیت عمده است.

فریم ورک Yii نسخه ۲

در اواخر سال ۲۰۱۴ میلادی برنامه نویسان حوزه متن باز وب شاهد انتشار نسخه ۲.۰.۱ فریمورک محبوب و البته قدرتمند Yii بودند. قصد داریم بررسی کنیم ورژن جدید چه مزیت‌هایی را نسبت به نسخه ۱ این فریمورک دارد. نکات قابل توجه این ورژن از فریمورک Yii :

۱- نصب آسان

در ورژن جدید از ابزار کامپوزر برای نصب و دانلود افزونه‌ها برای Yii استفاده شده است. که این امکان را به برنامه نویس می‌دهد که به محض بروزرسانی هر افزونه‌ای بتواند براحتی و در اسرع وقت آن را ارتقاء دهد.

۲- استفاده از آخرین فناوری در برنامه نویسی

در Yii2 از اتولودر بهبود یافته PSR-4 استفاده شده است. در مثال زیر توضیح می دهیم که این قابلیت چه مزیتی دارد:

با توجه به ساختار فریمورک و نحوه قرارگیری کلاس‌هایِ کمکی داریم به برنامه اعلام می‌کنیم که از مسیر /vendor/yiisoft/yii2/helpers کلاس HTML را بارگزاری کن.

با استفاده از عبارت فوق ما اعلام کردیم که قصد استفاده از کلاس HTML فریمورک را داریم. حال با خیال راحت از متودهای این کلاس در برنامه خود استفاده می کنیم.

۳- فضای تست

در Yii 2 از ابزار تست برنامه های PHP بنام Codeeption استفاده شده است. این ابزار بطور پیش فرض در فریمورک گنجانده شده است، به مثال زیر دقت کنید:

در فایل کانفیگ /tests/_config.php :

ما سه مورد را در فایل کانفیگ تست متمایز کردیم از حالت اصلی نرم افزار:

به برنامه می گوییم که در آدرس ها index.php را بکار ببر.

به برنامه می گوییم که از دیتابیس دیگری که ما آنرا برای تست ساخته ایم استفاده کن. به همین راحتی …

۴- سهولت برقراری امنیت در برنامه

مشکلی که می‌تواند سیستم‌ها و برنامه‌های بزرگ را در حوزه وب دچار مخاطره کند دیفیس شدن آن است. برنامه نویس یا برنامه نویسانی با تلاش زیاد برنامه‌ای را طراحی و اجرا می‌کنند، اما کافیست یک حفره امنیتی در برنامه آنها وجود داشته باشد، تمام تلاش آنها به هدر خواهد رفت. در Yii2 جلوی متودهای مختلف هک شدن سایت با رعایت یک سری موارد و همچنین ایجاد ابزار گرفته شده است.
از جمله قابلیت های کلیدی :
– رمزگزاری پسوردها با یک پیشوند رندوم برای غیر قابل بازیابی شدن پسورد‌ها
– تولید یک رمز برای فرمها بطور خودکار جهت جلوگیری از درخواستهای ناامن HTTP معروف به CSRF Token
– کلاس کمکی HTML Purifier جهت جلوگیری از حملات XSS
– کنترل دسترسی به اکشن‌های مختلف در برنامه RBAC

۵- سرعت بالای توسعه با Gii

این ماژول که در هسته فریمورک قرار دارد کارهایی مثل ایجاد مدل از روی جداول دیتابیس، ساخت CRUD ، ایجاد ماژول و .. بر عهده دارد. همچنین قابلیتی بنام مهاجرت در فریمورک موجود است. که به توسعه دهنده اجازه ایجاد نصب کننده خودکار جداول دیتابیس را برای یک ماژول خاص می‌دهد.

۶- سیستم کشینگ قدرتمند

سیستم کشینگ Yii واقعا محسوس عمل می‌کند. امکان فشرده سازی فایل‌های جاوااسکریپت و CSS را هم به توسعه دهنده برنامه می‌دهد.
با این اوصاف اگرچه Yii2 قابلیتهای منحصر به فردی نسبت به نسخه قبل خود دارد، اما هنوز برای رفتن به سراغ آن برای تولید برنامه های متوسط و بزرگ کمی زود به نظر می رسد. نویسنده با ورژن جدید فریمورک سیستمی را کار کرده ولی با بعضی مشکلات در سیستم مواجه شد که احتمالا در ورژن های آینده رفع می گردد.

لازم به ذکر است آخرین نسخه منتشر شده فریم ورک Yii ورژن ۲٫۰٫۱۳ بوده است که در نوامبر ۲۰۱۷ در دسترس قرار گرفته است.

دسته‌ها: yii

0 دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *