بررسی نسخه جدید فریم‌ورک Yii

saeid1989

New Member
yii201.gif

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

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

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

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

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



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

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

return [ 'components' => [ 'mail' => [ 'useFileTransport' => true, ], 'urlManager' => [ 'showScriptName' => true, ], 'db' => [ 'dsn' => 'mysql:host=localhost;dbname=mysqldb_test', ], ], ];
1
2
3
4
5
6
7
8
9
10
11
12
13
return [
'components' => [
'mail' => [
'useFileTransport' => true,
],
'urlManager' => [
'showScriptName' => true,
],
'db' => [
'dsn' => 'mysql:host=localhost;dbname=mysqldb_test',
],
],
];
ما سه مورد را در فایل کانفیگ تست متمایز کردیم از حالت اصلی نرم افزار:

'mail' => [ 'useFileTransport' => true, ], به برنامه می گوییم که هرجا خواستی ایمیلی برای کاربری ارسال کنی آنرا به فایل ارسال و ذخیر کن. 'urlManager' => [ 'showScriptName' => true, ],
1
2
3
4
5
6
7
8
'mail' => [
'useFileTransport' => true,
],
به برنامه می گوییم که هرجا خواستی ایمیلی برای کاربری ارسال کنی آنرا به فایل ارسال و ذخیر کن.

'urlManager' => [
'showScriptName' => true,
],
به برنامه می گوییم که در آدرس ها index.php را بکار ببر.

'db' => [ 'dsn' => 'mysql:host=localhost;dbname=mysqldb_test', ],
1
2
3
'db' => [
'dsn' => 'mysql:host=localhost;dbname=mysqldb_test',
],
به برنامه می گوییم که از دیتابیس دیگری که ما آنرا برای تست ساخته ایم استفاده کن. به همین راحتی …

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

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

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

جدیدترین ارسال ها

بالا