آسا اسکریپت

لاراول چیست ؟

img
img
img
img
shape
shape
blog-details
24
شهریور

لاراول چیست ؟

نویسنده : محمدرضا لیایی
دسته بندی : لاراول
سطح مقاله : مقدماتی
زمان مطالعه : 10 دقیقه

لاراول یکی از برترین و محبوب ترین فریمورک های رایگان php است. این فریمورک توسط تیلور اتول در سال 2011 برای اولین بار به دنیای برنامه نویسان حوزه طراحی وب معرفی شد. اولین نسخه از این فریمورک رایگان و متن باز براساس معماری MVC در ژوئن همان سال در اینترنت منتشر شد منتهی این مشکل را با خود یدک می کشید که از controller که یکی از ارکان اصلی معماری ام وی سی است برخودردار نبود ولی مواردی همچون model، view و session را در درون خود داشت. اولین نسخه کامل از فریمورک لاراول در سپتامبر 2011 معرفی شد. در این نسخه واسط controller نیز به لاراول اضافه شد و Laravel را به یکی از کاملترین فریمورک های سال 2012 تبدیل کرد. در ادامه با این مقاله از پایگاه دانش آسا اسکریپت همراه باشید تا سیر تکامل لاراول را مورد بررسی قرار دهیم.

لاراول از آغاز تا امروز:

تیلور اتول همراه با تیم توسعه دهنده لاراول تاکنون 8 ورژن از لاراول را به حوزه طراحی وب معرفی کرده اند. اولین ورژن این فریمورک محبوب در سال 2011 با توسعه پیشرفته تر از فریمورک CodeIgniter به بازار معرفی شد و تا امروز با 8 آپدیت جدید، ورژن های آن بروز شده است. لاراول بر پایه کتابخانه های سفمونی ایجاد شده است تا فریمورکی هرچه بهتر جهت توسعه اپلیکیشن  های کاربردی داشته باشیم. در ادامه براساس نسخه بندی نرم افزاری تعداد متوالی هشت بروز رسانی اساسی را، که با تغییر عدد اول از سمت چپ  مورد بررسی قرار میگرد را بررسی می کنیم:

ورژن شماره 1:

این ورژن در سال 2011 ماه ژوئن به بازار توسعه فریمورک های php معرفی شد. در این ورژن که دارای کم و کاستی های فراوانی بود از مکانیسم session، ثبت هویت یا authentication، مجوز هویت یا authorization، مدل ها، ویوها و روترها استفاده شد. اما بزرگترین مشکلی که این نسخه از لاراول داشت عدم پشتیبانی از کنترلرها به عنوان جز اصلی از معماری ام وی سی بود که البته در ورژن های بعدی این مشکل برطرف شد.

ورژن شماره 2:

شماره دوم از لاراول در همان سال 2011 همراه با بهینه سازی های متعدد ارائه شد. از جمله مهمترین این بهینه سازی ها اضافه کردن controller به لاراول بود که جهشی در محبوبیت لاراول ایجاد کرد. علاوه بر این ویژگی منحصر به فرد blade نیز به لاراول اضافه شد که در view ها بسیار کاربرد دارد.

ورژن شماره 3:

فوریه سال 2012 سالی بود که ورژن سوم از لاراول در اختیار توسعه دهندگان قرار گرفت. در این ورژن اتول واسط خط فرمان Artisan، افزونه های مدیریتی پایگاه داده، migration پایگاه داده، سیستم event و اضافه شدن سیستم مدیریت پکیج ها را اضافه کرد.

ورژن شماره 4:

پس از چندی در سال 2013 نسخه چهارم از لاراول بر بستر اینترنت قرار گرفت. از جمله ویژگی های این ورژن استفاده از نام اختصاصی دسته بندی کد illuminate بود. استفاده از این مدل دسته بندی، باعث شد که توسعه دهندگان لاراول مجبور به بازنگری کلی در  این فریمورک شوند و تغییرات عمده ای را در پوشه بندی آن شاهد باشیم. اگر بخواهیم مورد دیگری از تغییرات لاراول 4  که بسیار مهم است را نام ببریم،  استفاده از سیستم مدیریت پکیج composer است. در واقع سیستم کامپوزر این قابلیت را به طراحان حوزه وب می دهد که از بسته های نرم افزاری موجود در زبان php جهت توسعه وب اپلیکیشن های خود استفاده برند. البته موارد دیگری همچون database seeding، ارسال ایمیل، soft deletion و سیستم صف بندی ارسال نیز به laravel در این ورژن اضافه شد.

ورژن شماره 5:

بعد از دوسال تحمل، بالاخره ورژن 5 لاراول در فوریه 2015 در اختیار کاربران لاراول قرار گرفت! فاصله ی بسیار طولانی بین این دو نسخه به وجود آمده بود اما تیلور اتول در این مدت تمرکز خود را بر روی رفع مشکلات لاراول گذاشته بود و اغلب آپدیت هایی را به ورژن 4 اضافه می کرد. در این نسخه، پکیجی به نام scheduling اضافه شد کاربرد این بسته نرم افزاری در زمانبندی استفاده اتوماتیک دستورات لاراول است که می توان به صورت scheduling از آنها استفاده کرد. علاوه بر این مورد، پکیج flysystem جهت استفاده از ذخیره سازهای از راه دور مثل amazon s3 (remote) در کنار storage  های محلی، پکیج socialite جهت ورود به سایت با استفاده از سیستم های احراز هویت از سایت های دیگر (google oAuth) و بهینه سازی برخی از assets ها به لاراول اضافه گردید. تغییرات کوچکی نیز در ساختار فایلی این نسخه شاهد بودیم. نسخه 5 بروز رسانی های مداوم و بسیاری را شاهد بود و بالاخره در آپدیت اول از این نسخه، پشتیبانی بلند مدت دو ساله (LTS) جهت اطمینان خاطر از آپدیت های امنیتی در کنار امکانات هوشمند دیگر لاراول قرار گرفت.

ورژن شماره 6:

نسخه 6، دوسال بعد در سوم سپتامبر 2019 ارائه شد. ابزار blueprint جهت انجام چندین دستور لاراولی به طور همزمان در قالب یک فایل با فرمت yml  و  همسان سازی بین لاراول و vapor جهت دسترسی به بستر ابری سیستم آمازون مواردی هستند که در این نسخه به لاراول افزود شدند. البته یک حذف اساسی نیز در این نسخه به وجود آمد تا توسعه دهندگان در صورت نیاز بر حسب سلیقه آن را بر روی لاراول اعمال کنند و آن حذف frontend scaffolding و ارائه جداگانه در قالب بسته نرم افزاری laravel/ui است.

ورژن شماره 7:

از جمله با ثبات ترین ورژن های لاراول، نسخه 7 است که در سوم مارس امسال (2020) در اختیار توسعه دهندگان و طراحان وب سایت ها قرار گرفت. در این ورژن لاراول قابلیت استفاده از پکیج sanctum  را پشتیبانی نمود و همچنین ما برنامه نویسان از این نسخه به بعد با سیاست جدید از نسخه دهی لاراول روبرو هستیم به گونه ای که هر 6 ماه یک بار یک نسخه جدید منتشر می شود. البته در این نسخه تغییرات بسیار جزئی نیز وجود دارد مثل تغییرات در route model binding.

ورژن شماره 8:

چند روز قبل از نوشتن این مقاله ورژن جدیدی از لاراول منتشر شد، ورژن 8 با تغییرات عمده ای که در سیستم خود داد همه را شگفت زده کرد. به گونه ای که کاربران چندین ساله این فریمورک را سر درگم کرده است که چه اتفاقی افتاده است. در این ورژن، سیستم نصب لاراول تغییر پیدا کرده است. در این ورژن سیستم laravel/ui حذف شده است و استفاده اجباری از livewire و یا inertia به آن اضافه شده است که در کنار سیستم Jetstream قرار گرفته است. Model factory ها در این ورژن تغییر عمده پیدا کرده و در قالب php classes قرار گرفته اند. از آنجائی که این ورژن بسیار جدید است و کلا ما در ابتدای راه استفاده از آن قرار داریم نمی توان بحث اساسی بر روی آن انجام داد و در آینده نزدیک شما را با موارد جدید آن در قالب یک آموزش آشنا خواهیم کرد.

جمع بندی:

در این مقاله به بررسی اینکه لاراول چیست ؟ پرداختیم و متوجه شدیم که لاراول با سیر 10 ساله تاریخی خود چه طور از یک فریمورک ساده پیش پا افتاده به فریمورکی در زبان php تبدیل شد که تمامی رقبا را کنار زده است. در ادامه بحث با ورژن های مختلف لاراول مزایا و معایب هر کدام آشنا شدیم تا بتوانیم هرچه بهتر و دیدی بازتر به استفاده از این فریمورک دوست داشتنی بپردازیم.

آخرین بروز رسانی: مهر 30، 1399
لینک کوتاه: https://bit.ly/32pRh1C
بالا