فریم ورک های PHP همواره در حال پیشرفت و بروز رسانی هستند در این بین توسعه دهندگان با توجه به تجربه کار با فریم ورک های متفاوت و یا راحتی استفاده فریم ورک مورد نظر خود را برای توسعه برنامه ها و اپلیکشین های وب انتخاب می کند. در این مطلب به ارائه نظر سنجی کع تا پایان سال 2013 صورت گرفته می پردازیم.
این نظرسنجی که توسط Sitepoint.com در پایان سال 2013 صورت گرفته و در تاریخ December 28, 2013 پس از تفکیک پاسخ های معتبر منتشر شده است.
خلاصه نظر سنجی:
نمودار زیر بر اساس میزان استفاده و علاقه توسعه دهندگان به هر فریم ورک تهیه شده است:
بر اساس نتایج بهترین فریم ورک های سال 2014 به ترتیب زیر هستند:
- Laravel
- Phalcon
- Symfony2
با این شرایط فریم ورک های Yii و CodeIgniter در رتبه چهارم قرار گرفته اند.
فریم ورک Laravel با اینکه یک فریم ورک جدید و تقریبا نوپا محسوب میشه در مقابل فریم ورک هایی چون Yii و CodeIgniter بیشترین رای را کسب کرده است. خب تا این قسمت به نظرسنجی صورت گرفته توسط Sitepoint پرداختیم. در ادامه میخوام به معرفی فریم Laravel که خودم در حال استفاده از این فریم ورک هستم، بپردازیم چنانچه نیاز به مطالعه بیشتر این نظرسنجی دارید میتونید از لینک روبرو استفاده کنید: لینک
Laravel
حتما میدونید که Laravel یک فریم ورک متن باز تحت PHP است که برای توسعه نرم افزار وب به صورت MVC طراحی شده که تحت لیسانس MIT میباشد و روی Github میزبانی میشود.
چرا از Laravel استفاده کنم؟
دلیل استفاده از laravel به عقیده من سرعت اجراش نیست یکی از دلایل میتونه امکاناتش باشه ولی دلیل اصلی سرعت نوشتن کد برنامه با حداقل دستورات ممکنه که به صورت خیلی شیک و مجلسی میتونیم پیاده سازی کنیم و در آخر هم میتونیم به راحتی کد رو تغییر بدیم و ازش نگهداری کنیم.
من خودم درحال حاضر Laravel رو ترجیح میدم و بهترین فریم ورکی که تا حالا استفاده کردم لاراول هست. البته نظر شخصی هر فردی متفاوت هست.
امکانات:
- Bundle که برای لاراول یک سیستم مدیریت پکیج ماژولار رو فراهم میکنه
- Eloquent ORM که یک Object Relational Mapping پیشرفته است که برای map کردن داده ها به objectها مورد استفاده قرار میگیره که از الگوی Active Record بهره گرفته
- Application Logic که یک قسمت از توسعه نرم افزاره و توسط کنترلر ها مورد استفاده قرار میگیره. syntax مورد استفاده شبیه به تعاریف Sinatra Framework میباشد
- Reverse Routing یک رابطه روی لینک و روت تعریف میکند
- Restful Controller کنترلر هایی که میتوانند عملیات منطقی با استفاده از درخواست های HTTP ی GET یا POST را جداگانه کنترل کند.
- Class Auto Loading بارگزاری خودکار کلاسها
- View Composers که واحد های منطقی ای هستن که در موقع رندر شدن یک view میتونن اجرا بشن
- loC که برای ایجاد Design Patternها رویobjectهای جدید مورد استفاده قرار میگیره مثل singletons
- Migrations که برای ایجاد یک version control روی پایگاه داده مورد استفاده قرار میگیره
- Unit Testing که برای تست نرم افزار مورد استفاده قرار میگیره استفاده از روش هایی مثل TDD
و چندین امکان دیگه...