لاراول (laravel )چیست؟
یک چارچوب متن باز پی اچ پی (PHP) است که توسط تیلور اوتول، برای توسعه نرمافزارهای وب بر پایه معماری MVC طراحی شدهاست. بعضی از ویژگیهای لاراول به صورت ماژولار و بستهبندی شده ارائه شدهاست. در مارس ۲۰۱۵، لاراول به عنوان معروفترین فریم ورک php شناخته شد، سایر فریم ورکهای محبوب از قبیل symfony2,Nette,CodeIgniter,Yii2 و سایر فریم ورکها بودند. کدهای باز لاراول بر روی github میزبانی میشود؛ و تحت لیسانس MIT License ارائه شدهاست.
در توسعهی لاراول بسیاری مفاهیم و روشهای موجود در دیگر فریمورکها و زبانهای برنامهنویسی گردآوری شدهاند. لاراول مجموعهای یکپارچه از بهترین روشها و ابزارها در یک بسته است.
ویژگیهای بسیاری در لاراول وجود دارند که آن را به انتخاب اول توسعهدهندگان برای طراحی سایت و به طور خاص طراحی سایت با php تبدیل کردهاند.
ویژگیهای فریم ورک لاراول:
1. استفاده از بستههای نرمافزاری از زمان لاراول نسخه ۳ فراهم شد. با این ویژگی میتوان به راحتی اپلیکیشنهای تجاری را به وجود آورد. از نسخه ۴ سیستم composerها به لاراول اضافه شد.
2. ORM نقشه ارتباط بین اشیا: یک ویژگی پیشرفته پیادهسازی شده از php برای الگوی فعالیت رکوردها در بانک اطلاعاتی است.
3. ساخت query: از نسخه لاراول ۴ به وجود آمد؛ که امکان دسترسی مستقیم به ORMها را میداد. به جای تایپ مستقیم SQL QUERYها لاراول این امکان را میدهد تا کوئریها با برنامه تر ساخته شوند و برای استفادههای مجدد ذخیرهسازی گردند.
4. مسیریابی بازگشتی که رابطه بین لینکها و مسیرها را تعریف میکند.
5. موتور قالب blade که به راحتی چند تا از مدلهای دادهای را با محصول نهایی ویو ترکیب میکند.
6. Migration ها کلاسهایی با قابلیت ایجاد تغییرات در دیتابیس هستند که وظیفه ایجاد، حذف و تغییر جداول بدون استفاده از کدهای SQL را بر عهده دارند (انجام تمامی موارد در نهایت به وسیله SQL انجام میشود منظور در اینجا عدم استفاده از کد SQL برای توسعه دهنده هنگام طراحی مایگریشن است)
سرعت لاراول:
سرعت لاراول از دو جهت قابل بررسی است. زاویه نخست، سرعت عملکرد سیستم است که با استفاده از انواع روشها مانند، بارگزاری دیرهنگام( Lazy Loading )، سیستم Cache، استفاده از Memcached، استفاده از Redis و ابزارهای دیگر، تا حد امکان افزایش یافته است.
زاویه دوم سرعت، سرعت توسعه است. لاراول بسیار توسعهپذیر و قابل استفادهی مجدد است. امکان ایجاد بستههایی با عملکردهای جزئی و استفاده از آنها در نرمافزارهای دیگر سبب میشود سرعت توسعه در نرمافزارهای و سایتهای طراحی شده با لاراول بسیار بالا باشد.
سرویسهای لاراول:
لاراول به عنوان یک فریمورک قدرتمند php ابزارها یا سرویسهای متعددی در اختیار برنامهنویسان و طراحان سایت قرارمیدهد. فهرست این سرویسها را برای آخرین نگارش این فریمورک در ادامه مشاهده میکنید:
1. تایید هویت 2. دسترسیهای کاربران3 .کنسول آرتیزان4.پرداخت و صورتحساب5. کش 6 .مجموعهها 7.مکانیزاسیون 8.کدگذاری و رمزگزاری9. مدیریت خطاها و لاگ10.رویدادها توسعهی بستهها یا ماژولها 11.سیستم فایل – سیستم ابری 12.سیستم هش 13.ابزارهای کمکی 14.سایتهای دو زبانه و چند زبانه 15.ایمیل 16.صفحه بندی 17.صفها 18.ردیس 19.مدیریت و رمزگزاری سشن20.دسترسی آسان به SSh21.اجرای زمانبندی شدهی دستورات 22 .آزمون 23 .ارزیابی
مزایای لاراول :
1. با استفاده از یک موتور قالب تیغه ای قادر خواهد بود به وظایف و دستورات کامپایل کردن سرعت ببخشد و همچنین به دلیل در اختیار بودن توابع به صورت ماژولار کاربران می توانند از ویژگی های جدید این فریم ورک به راحتی استفاده و توابع و کلاس های ایده آل خود را به راحتی فراخوانی کنند.
2. مدلاسیون همراه:به این معنی که توسعه دهندگان و برنامه نویسان میتوانند بدون هیچ زحمتی از کدها مجددا استفاده نمایند.
3. با استفاده ی بهینه و قابل درک از کلاس ORM این فریم ورک قاد است در ایجاد روابط پایگاه داده به راحتی عمل کرده و توسعه دهنده و برنامه نویس را راضی کند.
4. یکی از خصوصیات برجسته این فریم ورک هنر CLI می باشد که شامل ابزار های پیشرفته جهت انجام دستورات و وظایف مختلف و همچنین مهاجرت و تغییر فریم ورک میباشد. به این معنا که در هر جا از پروژه به هر دلیلی اگر کلاس ها و توابع این فریم ورک به کارتان نیامد با استفاده از این خصوصیت میتوانید از کلاس ها و توابع فریم ورک های دیگر استفاده نمایید.
5. اسناد شگفت انگیز و همچنین ویژگی های اضافه شده از مسیریابی معکوس.
6. به روز رسانی آسان.
7. بدون داشتن کد نویسی های تودرتو:از جمله ویژگی های لاراول عدم برنامه نویسی تودرتو میباشد که باعث افزایش خطا و رفع خطای کد ها میگردد.
8. دارای قابلیت ماژولار (از جمله Package و Composer):توجه کنید که در تمام کلاس ها و قسمت ها لاراول به صورت ماژولار عمل نکرده است.
9. مبتنی بر معماری منعطف MVC : معماری سه لایه از سه قسمت Model , View , Controller تشکیل میشه.
10. انجام تست های متعدد از واحد های مختلف برنامه با دستورات ساده.
معایب لاراول :
1. لاراول باتوجه با جدید بودنش در مقابل توسعه دهندگان آهسته است.البته با آپدیت های جدید و آموزش هایی که فراگیر شده است این مشکل برطرف میشود.
2. توسعه دهندگان امروزی با گسترش بیش از حد کد ها و کلاس ها مشکل دارند.اگر کد ها و کلاس ها به عنوان اشیایی ماژولار در اختیار توسعه دهندگان قرار بگیرد سرعت عمل و ویرایش و تغییر پروژه به راحتی امکان پذیر است.
3. پشتیبانی فریم ورک لاراول به گستردگی رقبای قدیمی خود نیست و این امر باعث میگردد تا مشکلات و خطاهای لاراول به آهستگی حل شود که در سرعت انجام پروژه حائذ اهمیت است.
4. همان گونه که در قسمت مزایای لاراول گفته شد این فریم ورک از ابزار های مسیر یابی معکوس استفاده میکند که روش های آن برای برنامه نویسان مبتدی و متوسط پیچیده خواهد بود و سردرگم میشند.