فریمورک لاراول (laravel)

فریم ورک لاراول (Laravel) چیست ؟

فریم ورک لاراول یک ساختار یا فریم ورک متن باز (open source) زبان php می باشد. که بر پایه معماری mvc (مدل ، ویو ، کنترلر) برای توسعه نرم افزارهای سمت وب و استفاده از سیمفونی (Symphony) ساخته شده است. لاراول معروف ترین فریم ورک زبان php می باشد و نباید تعجب کنید که بسیاری از شرکت ها امروزه آگهی استخدام برنامه نویس Php مسلط به لاراول را  ثبت می کنند.

لاراول در نسخه های مختلف و از سال 2011 تا به الان نسخه های مختلفی ارائه کرده است. و تا نسخه چهار محبوبیتی به دست نیاورده بود ولی با نسخه 4 که بسیاری امکانات جدید رو فراهم کرده بود رو به محبوبیت گذاشت.

لاراول توسط تیلور اوتول برای توسعه نرم افزارهای تحت وب با زبان php ارائه گردید هم اکنون توسعه دهندگان زیادی در حال افزودن امکانات جدید به این فریم ورک محبوب هستند.

در مورد اینکه لاراول چیست و چه کاربردی دارد باید بگوییم که لاراول یک فریم ورک حرفه‌ای برای زبان PHP می‌باشد که کار اصلی آن فراهم کردن امکانات برای طراحی سایت است که دیوید اوتول آن را ارائه داده است. در مورد اینکه هدف اصلی لاراول چیست باید بگوییم که این فریم ورک به قصد حرکت دادن طراحی سایت‌ها به سمت برنامه نویسی MVC ارائه شده است اما بیس آن بر اساس فریم ورک سیمفونی است. لاراول علاوه بر اینکه به ایجاد یک ساختار مدل، ویو و کنترلر می‌ پردازد کاربردهای دیگری نیز مانند Packaging دارد که می‌تواند امکانات خوبی را به صورت ماژولار و آماده استفاده، در اختیار کاربران قرار دهد. همچنین دارای روش‌های متنوعی برای کار کردن با پایگاه داده‌های sql است که در صورت استفاده از آن می‌توان از تعداد زیادی از پایگاه داده‌های رابطه‌ای استفاده کرد.

همچنین سینتکس یا همان نوع نگارش در این پلتفرم بر اساس Syntactic sugar برنامه‌ریزی شده است که در واقع نوعی سیستم است که متن برنامه‌های کامپیوتری را به صورت روان‌تر و قابل درک‌تری می‌نویسد تا خواندن آن‌ها ساده‌تر باشد. سورس کد این فریمورک تحت لایسنس MIT مانند سیمفونی روی گیت هاب قرار دارد.

لاراول امروز (سال 2022) محبوب ترین فریمورک وب شد که در ویدیو فعلی می توانید روند شروع پیشرفت و ثابت شدن در بالاترین جایگاه را ببینید یکی از خوبیای لاراول را می توان تعداد بالای جامعه توسعه آن را دانست خوبی دوم را می توان تعداد بالای استخدام نیرو برای این فریمورک برشمرد که در سایت استخدام کافیست اسم این فریم ورک را سرچ کنید.

امید هست در آینده ای نزدیک تعداد بالای پکیج های آماده برنامه نویسی در زمینه هوش مصنوعی نیز به این فریمورک اضافه شود.

شما می توانید با این فریمورک پروژه های مختلفی مثل مثال های ذیل را هندل کنید:

  • طراحی انواع سیستم های تحت وب مدیریت مثل crm یا erp
  • طراحی سایت
  • طراحی انواع api 
  • و ...

تاریخچه لاراول

همه می دانیم که قبل از لاراول کدایگنایتر محبوبترین فریم ورک php بود اما برای توسعه سرعت پایینی خصوصا در دولوپ داشت تیلور سعی کرد تا یک فریم ورک بهتر و کاراتر از کدایگنایتر ایجاد کنید که اولین نسخه به صورت آزمایشی و در 9 ژوئن سال 2011 ارائه شد اما یک ماه بعد اولین نسخه کامل منتشر و در دسترس عموم قرار گرفت اما نسخه اولیه هنوز مفهومی به اسم کنترلر نداشت! و چارچوب mvc در این نسخه عملا وجود نداشت.

تاریخچه فریمورک لاراول

نسخه دوم لاراول در سپتامبر همان سال 2011 منتشر شد که اصلی ترین و بارزترین ویژگی اضافه شده همان بحث کنترلر بود و در این نسخه مفهوم واقعی mvc رعایت شد اما ویژگی بعدی در این نسخه موتور blade برای توسعه فرانت بود

نسخه سوم لاراول در فوریه 2012 در دسترس عموم قرار گرفت در این نسخه Artisan (واسط خط فرمان - cli) به این فریم ورک اضافه شده بود همچنین migration، event و ... کمک کرد که این فریم ورک در بین توسعه دهندگان وب محبوب شود

نسخه چهارم لاراول در می 2013 بر پایه کدهای Illuminate منتشر شد اما نکته مهم باز نویسی کامل این فریم ورک بود امکانات مثل migrate به کامپوزر اضافه شد اما نکته خیلی جالب و حیاتی اضافه شدن حذف نرم (soft delete) به مدل ها بود.

نسخه پنجم لاراول در ماه فوریه 2015 تقریبا با دو سال تاخیر منتشر شد بارزترین ویژگی اضافه شده بحث صف و جاب بود (scheduler) که کمک میکرد کارهایی رو با برنامه خاصی در زمانی های متفاوت اجرا کنید. (دقت داشته باشید نسخه های متفاوت زیادی به صورت آزمایشی عرضه شدن اما فقط در حال معرفی نسخه های پایدار هستیم)

نسخه پنج و یک (5/1) بعد از 5 منتشر شد و در این نسخه باگ گیری زیادی اتفاق افتاد و تا مدت مدیدی عملیات پشتیبانی و اصلاح در این نسخه ادامه پیدا کرد

تقریبا هر 6 ماه یک نسخه جدید از لاراول منتشر می شود و آخرین نسخه در زمان نگارش این مطلب 9.2 بود

فریم ورک لاراول چه ویژگی هایی دارد؟

فریم ورک لاراول چه ویژگی هایی دارد؟

  • نصب راحت پکیج های php از نسخه 3 به بعد که کمک کرد سرعت دولوپ برای ساخت و طراحی سایت بالاتر رود و در از نسخه 4 به بعد کامپوزر که یک سیستم مدیریت پکیج برای زبان php است در لاراول گنجانده شد.
  • استفاده از ORM که کمک کرد برنامه نویس به راحتی ارتباط بین جداول را ایجاد و استفاده کند به صورتی که دیگر نیاز به join های پیچیده نبود.
  • ساخت کوئری از نسخه 4 این امکان ایجاد شد که شما بجای کدنویسی به زبان sql بتوانید دستورات قابل فهمتری با این فریم ورک تایپ و خروجی از دیتابیس بگیرد البته الان هم با دستور DB می توانید کوئری هایی به زبان sql اجرا کنید.
  • مسیریابی بازگشتی (Routing) قدرتمند که تمام موارد جالبی مثل ذخیره مسیر قبل و ... را اضافه کرد همچنین کنترل پارامترها و کوئری ها در خود روت نیز برای دولوپر امکانات وسیعی اضافه کرد
  • انجین blade برای قالب (فرانت) که کمک میکنه خیلی راحت از تکنولوژی های مختلف استفاده و حتی قالب های مختلف رو ترکیب کنید
  • migration یکسری از کلاس ها برای تغییر در دیتابیس با وظایف ایجاد، حذف و ویرایش جداول در دیتابیس پروژه فعلی بدون استفاده از کدهای sql برای امکان توسعه راحتر در آینده استفاده می شود دقت داشته باشید ارتباط نهایی با دیتابیس برای توسعه همان کدهای sql خواهد بود که در انجین لاراول تبدیل و در دیتابیس اجرا خواهد شد.
  • ساختار mvc خود یکی از دلایل افزایش امنیت است همچنین استفاده از توکن مثل توکن csrf برای افزایش امنیت در فرم ها با متد post یا get می شود
  • امکان استفاده از فریمورک های فرانت مثل ویو جی اس، بوت استرپ، ری اکت و ... در لایه view
  • امکان پشتیبانی هم زمان از چندین دیتابیس
  • متن باز (open source) بودن این فریم ورک
  • داکیومنت ساده و تعداد زیاد مطالب آموزشی به زبان فارسی
  • به روز رسانی و آپدیت سریع و آسان با چند دستور با استفاده از کامپوزر
  • پکیج های Auth و پکیج های کاربردی دیگر برای نصب آسان
  • امکان Cache و کدنویسی آسان برای استفاده از انواع دیتابیس های کش
  • خطاپذیری بالاتر و امکان باگ گیری خطاها به صورت مشخص
  • استفاده از autoloading
  • و ...

چرا فریم ورک لاراول؟ 

  • راه اندازی بسیار آسان
  • یادگیری آسان همراه با منابع یادگیری کاربردی
  • به روز رسانی آسان  مخصوصا در نسخه های جدید
  • بدون داشتن کد نویسی های تودرتو
  • دارای قابلیت ماژولار (از جمله Bundle و Composer)
  • مبتنی بر معماری منعطف MVC
  • ارتباط با دیتابیس و اجرای دستورات به صورت سریع و آسان
  • بهره مندی از ORM با نام Eloquent با کارایی و انعطاف چشمگیر
  • بهره مندی از templating engine با نام Blade با امکانات مناسب
  • توسعه اختصاصی سیستم مسیر دهی (routing)
  • اجرای آسان روندهای معمول برنامه نویسی مانند احراز هویت
  • انجام تست های متعدد از واحد های مختلف برنامه با دستورات ساده
  • امکان جدا کردن نسخه های مختلف سایت
  • امکان جدا کردن نسخه های مختلف Api
  • پشتیبانی از آخرین ورژن php
  • توابع و متدهای کاربردی برای کار با آرایه ها و آبجکت ها

ساختار کدنویسی در لاراول به چه صورت است؟

ساختار کد نویسی در لاراول به شکل مدل سه لایه می‌باشد که این لایه‌ها شامل version ، view و controller هستند و معماری mvc نامیده می‌شود. معماری سه لایه باعث بهبود برنامه از جهت برنامه‌نویسی می‌شود و موجب قدرتمند شدن آن می‌گردد.

ساختار کدنویسی در لاراول به چه صورت است؟

 MVC یکی از کاربردی‌ترین عناصر در وب است. وقتی یک فریم ورک از این معماری استفاده کند، به کاربران این امکان را می‌دهد که برنامه‌هایی قوی، قابل توسعه و به صورت اصولی را تحویل دهند که هم از نظر ساختار برنامه‌نویسی و هم از نظر امنیتی قوی باشند و نفوذ به آن‌ها بسیار دشوار باشد. همانطور که بیان کردیم MVC یک الگوی طراحی است که به کاربران این امکان را می‌دهد که یک برنامه را به سه بخش مدل، نما و کنترلر تقسیم ‌کنند. اما در مورد نقش MVC در لاراول این است که این فریم ورک به کاربران این امکان را می‌دهد که از امکانات ایده‌آل آن به صورت پیش فرض استفاده کنند و لازم نباشد که خود را درگیر پیچیدگی‌های برنامه نویسی کنند

مزیت فریم ورک لاراول نسبت به سایر فریم ورک‌ها

  • فریم ورک لاراول یکی از بهترین فریمورک‌های php است که امکان استفاده از ابزارهای زیادی را به کاربران می‌دهد. 
  • لاراول به سادگی قابل درک است و می‌توان در کمترین زمان آموزش لاراول را فرا گرفت زیرا مستندات آموزشی و دوره لاراول برای آموزش این فریم ورک وجود دارد. 
  • لاراول بهترین چارچوب PHP است که تعداد زیادی از ابزارهای مختلف را دارا می‌باشد.
  • لاراول از معماری mvc پشتیبانی می‌کند. 
  • برنامه redis در لاراول دارای پشتیبانی داخلی می‎باشد.  
  • فریم ورک لاراول از orm یا object relation mapping پشتیبانی می‌کند. از این سرویس می‌توان برای انتزاع بخشی و خودکارسازی مدل استفاده نمود. به کمک این سرویس می‌توان با هر نوع بانک اطلاعاتی کار کرد. 
  • این فریم‌ورک برای اعطای مجوز و احراز هویت از یک پیکربندی پیش فرض استفاده می‌کند. در فریم ورک لاراول ابزاری به نام artisan وجود دارد که با استفاده از آن می‌توان به امن کردن برنامه خود از طریق احراز هویت با آن پرداخت.
  • فریم‌ورک لاراول برای ذخیره‌سازی علاوه بر سیستم لوکال از سیستم‌هایی مانند amazon s3 و rack space نیز استفاده می‌کند. از ویژگی‌های خود laravel این است که به ما امکان می‌دهد به راحتی بین گزینه‌های مختلف ذخیره سازی جابه‌جایی داشته باشیم. و این به معنی این است که استفاده از تمامی این سیستم‌ها برای ذخیره فایل به صورت توزیع شده تنها در یک اپلیکیشن می‌تواند انجام گیرد. 
  • می‌توان از سیستم گزارشات و اطلاع‌رسانی لاراول برای نمایش زنده اطلاعات در اپلیکیشن‌های وب استفاده کرد. 
  • و ...

مزیت آموزش لاراول نسبت به سایر فریمورک های دیگر

ترس یادگیری فریم ورک لاراول

تا به حال ممکن است با چندین فریم ورک مختلف کار کرده باشید و هرکدام از این فریم ورک ها به صورت معماری MVC بوده اند اما هر بار که بخواهید سمت لاراول بروید مجبور به عقب نشینی بوده اید!!! چرا ترس یادگیری لاراول در ابتدا اینقدر زیاد می باشد؟ یکی از این دلایل همان عدم آشنایی با محیط این فریم ورک می باشد و دلیل بعدی می تواند ازدیاد آموزش هایی بدون تست و بی کیفیت باشد که وقتی می خواهید آموزش مورد نظر را در یک پروژه به صورت ساده انجام دهید با خطاهای مختلفی روبه رو می شوید و این بعنی دلسردی شما از این فریم ورک قدرتمند!!!

ما سعی کردیم در بخش فریم ورک لاراول تمام مثال های عملی را همراه با جزییات برای شما دوستان ارائه کنیم و همچنین در هر مطلبی قسمت برای پرسش و پاسخ پیش بینی کرده ایم تا در صورت عدم توانایی شما در اسرع وقت پاسخ مناسب و دقیقی برای شما ارسال کنیم، همچنین در دوره لاراول که برای شما تهیه شده است بصورت عملی طراحی سایت لاراول برای شما تهیه شده است