فریم ورک چیست ؟
فریم ورک یا Framework در لغت به معنی چارچوب و مجموعه ای از قوانین کدنویسی، استانداردها، کتابخانه ها و دیزاین پترن ها می باشد و به صورت یک برنامه یا چارچوب نرم افزاری در اختیار برنامه نویس ها و توسعه دهنده ها قرار گرفته است.
بهترین فریمورک های php
امروزه برنامه نویسان php بیشتر از laravel ، codeigniter و symphony استفاده می کنند. فریمورک های زبان برنامه نویسی php به شرح ذیل می باشد :
- Laravel
- Symphony
- Codeigniter
- Yii
- cakePHP
- Phalcon
- Zend
- Drupal
- fuelPHP
- PHPixie
فریم ورک یا برنامه نویسی لاراول (Laravel)
برنامه نویسی لاراول به عنوان یکی از محبوب ترین فریم ورک های زبان برنامه نویسی PHP در میان برنامه نویس ها می باشد به گونه ای است که بسیاری از توسعه دهنده ها و برنامه نویس ها برای توسعه دادن برنامه های سخت و پیچیده تحت وب از آن به عنوان اولین گزینه استفاده می نمایند.
لاراول فریم ورکی مبتنی بر معماری MVC می باشد که به صورت رایگان و متن باز ارائه شده است. این فریم ورک امکانات هوشمندی در اختیار برنامه نویسان قرار داده و برنامه نویسی را برای آنها لذت بخشتر میکند.
این فریم ورک در بین سایر فریم ورکهای PHP از امنیت و سرعت توسعهی بیشتری برخوردار است و از طریق آن شما قادر خواهید بود بدون اینکه تغییری در کدهای اصلی ، عملکرد بسیاری از بخشها را تغییر دهید.
لاراول کتابخانههای بسیار متنوعی دارد و از اغلب کتابخانههای فریم ورک سیمفونی نیز استفاده میکند. همچنین این فریم ورک سرویسهای مختلفی را برای برنامه نویسان ارائه میدهد.
تاریخچه لاراول (Laravel)
تیلور اوتول (Taylor Otwell) برای ارائه یک راه حل پیشرفته تر از فریم ورک کدایگنایتر لاراول را ساخت .
نسخه آزمایشی لاراول در ۹ ژوئن ۲۰۱۱ در دسترس قرار گرفت . لاراول ۱ شامل مکانسیمهای مدل، نما، نشست، و مسیریابی بود ولی فقدان وجود کنترلگر در آن باعث شد تا حالت چارچوب MVC واقعی را از دست بدهد.
لاراول ۲ در سپتامبر سال ۲۰۱۱ همراه با بهینهسازیهای متعدد منتشر گردید. ویژگی اصلی آن وجود کنترلگر در آن بود. امکان دیگری که در آن به وجود آمد سیستم قالب بندی آن به نام Blade بود، همچنین در لاراول ۲ استفاده از پکیجها همان طوری که کمتر از آنها پشتیبانی میشد بهطور کامل از بین رفت.
ویژگی لاراول ۳ که در فوریه سال ۲۰۱۲ منتشر گردید استفاده از واسط خط فرمان (CLI) با نام Artisan بود. پشتیبانی داخلی از مدیریت سیستم بانک اطلاعاتی، و مهاجرت پایگاه داده (Migration)، لایههای بانک اطلاعاتی، پشتیبانی از رویدادها و سیستم پکیجینگ که Bundle نامیده میشد. محبوبیت لاراول را در بین کاربران بالا برد.
لاراول ۴، بر پایه کدهای Illuminate در می سال ۲۰۱۳ منتشر شد. این نسخه بهطور کامل مجدداً بازنویسی شده بود. امکانات migrate بهطور جداگانه در کامپوزر قرار گرفت. امکاناتی نظیر ارسال به ایمیل به چند شیوه متفاوت و پشتیبانی از حذف شدن با تأخیر رکوردهای بانک اطلاعاتی به عنوان soft deletion از دیگر امکانات آن بود.
لاراول ۵ در فوریه سال ۲۰۱۵ منتشر شد. این نسخه با تغییر شماره نسخه ۴٫۳ بود. از امکانات این نسخه پشتیبانی از برنامهریزی برای دوره اجرای وظایف از طریق پکیج Scheduler بود. بهینه شدن پکیجهای assets از طریق Elixir و سیستم ورود کاربری به راحتی از طریق پکیج Socialite package قابل کنترل شده بود. لاراول ۵ همچنین ساختار درختی را برای ساخت نرمافزار معرفی کرد.
لاراول ۵٫۱ در سال ۲۰۱۵ منتشر شد، این نسخه با پشتیبانی طولانی همراه است و باگهای زیادی در این نسخه برطرف شدهاست.
برخی از مزایا و قابلیت های لاراول
- استفاده از معماری MVC
- متن باز (Open Source) بودن
- آسانی در یادگیری
- افزایش سرعت توسعه پروژه
- امنیت بالا
- بروز رسانی آسان
- آسانتر کردن اعمالی همچون احراز هویت (Authentication) ، مسیریابی (Routing) و Cache کردن
- استفاده از Remote Component
- افزایش چشمگیر سرعت کدنویسی
- توسعه برنامه بدون به خطر افتادن قابلیتها و کدهای قبلی برنامه
- محدود کردن Eloquent با استفاده از دستوراتی ساده
- قابلیت اجرای آزمایشهای متعدد مانند Unit Testing با استفاده از دستوراتی ساده
- قابلیت دسترسی آسان به Database توسط Migration ها
- خط فرمان فوق العاده Artisan
- قابلیت ایجاد Packageهای مختلف
- استفاده از خصوصیت auto-loading
- استفاده از ابزار ORM
- استفاده کردن از موتور Template Blade
- افزایش سرعت توسعه پروژه یکی از مزایای فریمورک لاراول
- پشتیبانی از پایگاه دادههای مختلف در لاراول یکی از مزایای لاراول
- اعتبار سنجی با Validation در لاراول
- مزیت قابلیت Sync شدن با ایمیلها در لاراول
- نصب و سفارشی سازی بسیار آسان laravel
- کاهش حجم کد نویسی با کمک لاراول
- احراز هویت یا Authentication در لاراول
- سیستم امنیتی بسیار بالا و پیشرفتهی لاراول
معایب لاراول
- Laravel یک چارچوب سبک وزن می باشد، بنابراین در مقایسه با Django و Ruby از پشتیبانی داخلی کمتری برخوردار می باشد. این مشکل با ادغام ابزارهای خارجی قابل حل است اما برای وبسایتهای بزرگ یا سفارشی، کارها میتوانند خستهکننده و پیچیده شوند.
- همه پرونده های اصلی لاراول در فضای نام Larara قرار دارند در حالی که پروندههای اصلی دیگر از فضای نام اصلی (\) استفاده نمیکنند. این میتواند توسعه کلاسهای طولانی را کمی سختتر کند. این یک مساله بزرگ نیست و بسیاری از توسعهدهندگان نگران این موضوع نخواهند بود.
- Laravel به عنوان یک چارچوب جدید، به اندازه بسیاری از چارچوب های دیگر بالغ نیست.
- توسعه دهندگان آماتور هنگام گسترش کدها و کلاسها با مشکلاتی روبرو میشوند.
- برای سیستمهای قدیمی، مهاجرت به لاراول کار سادهای نمی باشد.
- بسیاری از روش های موجود در روند مسیریابی معکوس پیچیده هستند.