لاراول چیست ؟ از 0 تا 100 لاراول را بشناسید : سلام رفقا من علیرضا احمدی هستم یک برنامه نویس Laravel و در این پست میخواهم لاراول رو براساس نظر خودم که سال هاست
در حوزه برنامه نویسی laravel فعالیت میکنم به شما معرفی کنم، میدونم که ممکن سئوالات مختلفی رو داشه باشید پس در ادامه این پست همراه من باشید
در این مقاله قصد دارم شما رو با یکی از بهترین فریمورک های PHP یعنی لاراول آشنا کنم، در طی ۱۲ سال گذشته که با php برنامه نویسی میکردم
اوایل خیلی برنامه نویسی php به صورت pure رایج بود ولی به مرور باتوجه به مسائل امنیتی، سرعت توسعه و… بحث فریمورک ها مطرح شدند
و فریمورک ها و کتابخانه های مختلفی برای PHP مطرح شدند، اما هیچ کدام به اندازه لاراول مورد استقبال در جهان واقع نشدند !
به نظرم یکی از مهم ترین دلایل لاراول برطرف کردن بخش زیادی از نیاز های اصلی برنامه نویسان بود که در این مقاله قصد دارم در موردش باهاتون بیشتر صحبت کنم
در این مقاله می خوانید :
فریم ورک لاراول چیست – مقدمه :
لاراول به انگلسی : Laravel یکی از بهترین فریمورک های متن باز (open Source ) برای پی اچ پی PHP است
که براساس آمار رسمی سایت گیت هاب تا به امروز 75.6k ستاره از سوی برنامه نویسان از سرتاسر دنیا دریافت کرده است
که در واقع میشه گفت بیش از ۷۶ هزار برنامه نویس در سرتاسر دنیا به این فریمورک امتیاز داده اند
که به نسبت فریمورک های دیگه php میشه گفت لاراول بسیار محبوب تر است ،
برخی از مزایای خیلی مهم لاراول آشنا کنیم :
پایه فریمورک لاراول فریمورک سیمفونی (Symfony) است
وب سایت رسمی و مستندات لاراول : laravel.com
آخرین نسخه لاراول : laravel 10 می باشد
تاریخ انتشار آخرین نسخه پایدار لاراول : 14 فوریه 2023
اولین نسخه لاراول : ژوئن ۲۰۱۱ یعنی ۱۳ سال پیش منتشر شده است
پنل ادمین لاراول : به صورت پیشفرض ندارد
سازنده لاراول : Taylor Otwell(تیلور اوتول)
در حال حاظر باتوجه به محبوبیت laravel در ایران و خارج از ایران لاراول به نسبت فریمورک های دیگه بیشترین میزان استخدام رو دارد
و باتوجه به بازار کار خیلی خوب لاراول، این که لاراول رو بدونید چی هست و چه کاربردی داره میتونه برایتان بسیار مفید باشد و یک سرمایه گذاری خیلی خوب باشه !
چرا لاراول ؟ / چه موقعی از لاراول استفاده کنیم ؟
در ادامه این پست : لاراول چیست ؟ از 0 تا 100 لاراول را بشناسید ! : فرض کنید که میخواهید یک وب سایت با php برنامه نویسی کنید:
احتمالا یکی از موضوعاتی که برای شما مطرح است این که بتوانید سریع جلو برید، امنیت بالایی داشته باشد
و در نهایت در اینده برای توسعه هم کارمون راحت باشه ، در این حالت laravel یکی از بهترین گزینه ها برای ما خواهد بود
و وقتی با لاراول دارید کد میزیند علاوه بر سرعت عمل بالا دیگه خیلی نگران مسائل امنیتی نیستید !
چرا که لاراول تا حد خیلی خوبی خیلی از مسائل امنیتی پایه را حل کرده است !
برخی از مهم ترین ویژگی های لاراول :
- پشتیبانی از Eloquent ORM (Object-Relational Mapping)
- دارای موتور قالب Blade
- دارای قابلیت خط فرمان Artisan
- پشتیبانی از قابلیت Middleware ها
- دارای سیستم Routing پیشرفته
- پشتیبانی از Dependency Injection and IoC Container
- پشتیبانی از معماری MVC
- پشتیبانی از احراز هویت پیشرفته
- پشتیبانی از تست خودکار (PHPUnit)
- پشتیبانی از قابلیت صف بندی درخواست ها
- پکیج های زیادی برای laravel توسعه داده شده است
- لاراول دارای یک سیستم Error Handling بسیار قوی می باشد
- پشتیبانی از اعتبار سنجی (Validation) قوی
- و…
اما در ادامه این مقاله (لاراول چیست ؟ از 0 تا 100 لاراول را بشناسید !) با موارد فوق بیشتر آشنا خواهید شد پس در ادامه این پست با من همراه باشید
نظر من در خصوص لاراول و برنامه نویسی لاراول :
جا داره در این بخش از مقاله (لاراول چیست ؟ از 0 تا 100 لاراول را بشناسید !) یکمی نظر خوردم رو به عنوان یک لاراول کار بگم :
اولین باری که من با لاراول خودم شروع به کار کردم تقریبا حدود سال ۲۰۱۵ بود یعنی حدود ۹ سال پیش که اون موقع تازه لاراول ۵ اومده بود
و من با نسخه ۴ و ۵ لاراول شروع به کار کردم،
قبل از لاراول من با فریمورک های دیگه Symfony,CodeIgniter,CakePHP و فریمورکی که خودم پیاده سازی کرده بودم
کار میکردم ولی وقتی با لاراول شروع به کار کردم دیدم که واقعا به نسبت فریمورک های دیگه بهتر نیاز های ما رو پوشش میده
من اون موقع به عنوان مدیر فنی مجموعه پی سی وب هم بودم و برای پروژه هایی که میگرفتیم لاراول خیلی خوب بهمون کمک میکرد
میزان استفاده ما از لاراول به حدی زیاد شده است :
که امروز وقتی مشتری به ما سفارش طراحی سایت می دهد ما ترجیج می دهیم از لاراول برای پیاده سازی استفاده کنیم
اما در ادامه بهتون توضیح خواهم داد که اصلا فریمورک چیه ، پس در ادامه این مقاله نیز همراه من باشید !
Framework یا فریم ورک چیست؟
ما توی این مقاله (لاراول چیست ؟ از 0 تا 100 لاراول را بشناسید !) بار ها داریم از کلمه فریمورک استفاده میکنیم و شاید برای شما سئوال باشه که اصلا این فریمورک که میگیم یعنی چی ؟
آیا فریمورک به تعداد از کتابخانه های php گفته می شود ؟
در جواب باید بگم که خیر !
احتمالا اگر تازه وارد دنیای برنامه نویسی شده باشید برای شما سئوال هست :
که فریمورک چه و به چه دلایلی ما از فریمورک استفاده میکنیم و استفاده از فریمورک چه مزایا و معاببی داره که در این بخش در خصوص همه این موارد صحبت خواهیم
فریمورک یا به فارسی چهارچوب نرم افزاری :
در این بخش : لاراول چیست ؟ از 0 تا 100 لاراول را بشناسید ! قصد دارم در خصوص فریمورک و چهارچوب کمی صحبت کنم :
فریمورک بستری برای توسعه و برنامه نویسی است که معمولا دارای ساختار خاصی هست،
به عنوان مثال لاراول بستری برای برنامه نویسی php است که از ساختار MVC استفاده میکند،
یک فریمورک از مجموعه ای از کلاس ها و توابع پیش تعریف شده تشکیل شده است
که این روند به ساده سازی برنامه نویسی کمک میکند و نیازی نیست که برنامه نویسان هر بار که میخواهند برنامه ای بنویسند
دوباره همه چیز رو از اول برنامه نویسی کنند و یا ساده تر دوباره چرخ را اختراغ کنند و همین موضوع باعث سرعت در برنامه نویسی نیز می شود !
فریمورک های فرانت اند و فریمورک های بک اند :
ما در سمت فرانت اند هم فریمورک هایی رو داریم مثل : VueJS و Angular JS و در واقع میشه گفت:
این جوری نیست که فریمورک ها فقط مخصوص BackEnd باشند و در سمت بک اند هم برای زبان های برنامه نویسی مختلف مثل :
Python , Java , PHP , NodeJS و… فریمورک های مختلفی رو داریم که برای PHP مثلا ما لاراول رو داریم
همچنین اگر دوست دارید مقایسه بین دو تا فریمورک : جنگو و لاراول رو بخوانید پیشنهاد میکنم مقاله (جنگو یا لاراول ) را در وبلاگ من بخوانید !
لاراول یک کتابخانه PHP است ؟ یا یک فریمورک PHP – تفاوت بین کتابخانه و فریم ورک ؟
شاید این جوری فکر کنید که لاراول در واقع یک کتابخانه php هست
برخی ممکن است فرض کنند که یک فریم ورک نرم افزاری مجموعه ای از کتابخانه ها است !
همانطور که کتابخانه ها مجموعه ای از روال های از پیش تدوین شده هستند.
با این حال ، این موضوع درست نیست زیرا همه چارچوب های نرم افزار از کتابخانه ها استفاده نمی کنند یا به کتابخانه ها وابسته نیستند.
تفاوت کتابخانه و فریمورک :
قبل از این که به تفاوت این دو تا موضوع بپردازم در این جای مقاله (لاراول چیست ؟ از 0 تا 100 laravel را بشناسید !) خوبه اول یک توضیحی در مورد کتابخانه بدهم :
که کتابخانه در واقع مجموعه ای از کدهای آماده است که برنامه نویسی برای پیاده سازی برنامه مورد نظر خود از آن استفاده میکند و درون برنامه مون ازش استفاده میکنم
و اما بریم سراغ تفاوت کتابخانه و فریمورک :
یکی از تفاوت های کتابخانه با فریم ورک این است که فریم ورک کدهای اضافه شده توسط کاربر را فراخوانی می کند و تصمیم میگیرد کی و کجا از کد استفاده کند
در مقابل این کد ،کتابخانه کدهای برنامه را اجرا می کند.
یک فریمورک مجموعه ای از کتابخانه ها هستند ؟
در پاسخ به این سئوال باید بگم که نه :
فریمورک یک چهارچوب نرم افزاری هست و ممکن است درون فریمورک یک سری کتابخانه استفاده شده باشد و ممکن است حتی اون فریمورک به کتابخانه هایی وابسته نباشد!
همچنین مهم ترین نکته این هست که در داخل یک فریمورک شما باید براساس یک سری قوانین و چهارچوب برنامه نویسی کنید !
و صرفا این جوری نیست که چند تا کتابخانه کنار هم دیگه قرار داده شده باشند و شما بتوانید هرجوری که میخواهید برنامه نویسی کنید\
تاریخچه لاراول چیست :
لاراول یک فریمورک برای برنامه نویسی در دنیای وب مدرن است که توسط Taylor Otwell در سال 2011 ابداع شد.
این فریمورک در ابتدا به دنبال یک راهکار ساده برای توسعه پروژههای وب بود و با گذر زمان به یکی از محبوبترین و قدرتمندترین ابزارهای توسعه PHP تبدیل شد.
و کارجویان و شرکت های زیادی به سمت استفاده از آن آمدند
در جدول زیر، مهمترین مراحل تاریخچه لاراول آمده است :
تاریخ | مرحله |
---|---|
۹ ژوئن ۲۰۱۱ | ابتدای راه: اولین نسخه آزمایشی لاراول منتشر |
سپتامبر ۲۰۱۱ | لاراول ۲ منتشر شد |
فوریه ۲۰۱۲ | لاراول ۳ منتشر شد |
می ۲۰۱۳ | لاراول ۴ منتشر شد. |
فوریه ۲۰۱۵ | لاراول ۵ منتشر شد |
سپتامبر ۲۰۱۵ | لاراول ۵.۱ منتشر شد |
۲۰۱۷ | Laravel 5.5: منتشر شد |
۲۰۱۹ | Laravel 6: منتشر شد |
۲۰۲۱ | Laravel 8: منتشر شد |
فوریه ۲۰۲۲ | Laravel 9: منتشر شد . |
۱۴ فوریه ۲۰۲۳ | Laravel 10 منتشر شد |
ژانویه ۲۰۲۴ | Laravel 11 منتشر خواهد شد |
اما من خیلی دوست دارم در این مقاله (لاراول چیست ؟ از 0 تا 100 لاراول را بشناسید !) تغییراتی که در این سال ها لاراول داشته است رو بیشتر بررسی کنم
همچنین خوب است مقاله (سایت های طراحی شده با لاراول) را نیز در وبلاگ ما بخوانید !
فریم ورک لاراول (Framework Laravel) نسخه ۱ :
در این بخش از مقاله (لاراول چیست ؟ از 0 تا 100 لاراول را بشناسید !) میخواهم در خصوص نسخه اول لاراول باهاتون ضبحت بکنم :
نسخه 1 لاراول که در تاریخ 9 ژوئن 2011 منتشر شد، نقطه شروع برای فریمورک محبوب و قدرتمند لاراول بود.
تیلور اوتول، خالق لاراول، این فریمورک را با هدف ارائه یک راهحل سادهتر و منعطف تر و کاربردی تر نسبت
به سایر فریمورکهای موجود در آن زمان، مانند CodeIgniter، برنامه نویسی کرد.اگر بخواهم به چند تا از ویژگی هایی نسخه ۱ لاراول اشاره کنم :
معماری MVC (Model-View-Controller) – لاراول چیست :
لاراول از ابتدا بر اساس معماری MVC طراحی شده بود !
که به برنامه نویسان امکان میداد تا که برنامه نویسی منظم تری رو داشته باشند و از طرفی در اینده نیز برای توسعه آن راحت تر باشند
لاراول چیست – سیستم Routing ساده و قدرتمند :
اگر در این پست : لاراول چیست ؟ از 0 تا 100 لاراول را بشناسید ! بخواهم به یکی دیگه از ویژگی های لاراول اشاره کنم
میتونم به سیستم روتیینگ لاراول اشاره کنم :
لاراول در نسخه اولیه خود نیز یک سیستم روتینگ ساده اما انعطافپذیر را ارائه کرد که امکان تعریف مسیرها و ارتباط آنها با کنترلرها را به راحتی فراهم بود .
Blade Templating Engine:
اگرچه Blade در نسخههای اولیه لاراول به اندازه امروز پیشرفته نبود، اما وجود یک سیستم قالببندی قدرتمند از همان ابتدا یکی دیگه از نقاط قوت لاراول بود.
Eloquent ORM:
در نسخه های اولیه لاراول از همان ابتدا چیزی به نام orm وجود داشته !
و از همان ابتدا لاراول شروع کرد به توسعه Eloquent درسته به اندازه امروز قدرتمند نبود
اما از همان اول برای لاراول مهم بوده که یک Orm ساده و کاربردی در آن وجود داشته باشه که برنامه نویسان برای کار با دیتابیس راحت تر باشند
و راحت تر بتوانند با دیتابیس تعامل داشته باشند و از طرفی خیلی کمنر نگران مباحث امنیتی دیتابیس باشند
مستندات کامل و دسترسی آسان:
یکی دیگه از ویژگی های خیلی خفن لاراول که به نظرم باعث رشد اون شد این بود که :
از همون اول لاراول تلاش کرد مستندات جامع و قابل فهمی رو برای برنامه نویسان تازه کار و حرفه ای پیاده سازی کند
که به جرات میشه گفت امروز لاراول به نسبت فریمورک های دیگه مستندات و داکیومنت های خیلی بهتری رو داره .
روند محبوبیت فریمورک لاراول در مقایسه با سایر فریم ورک ها – گوگل تِرِند:
یکی دیگه از مسائل خیلی مهمی که در این جای مقاله (لاراول چیست ؟ از 0 تا 100 لاراول را بشناسید !) میتونیم بهش اشاره کنیم اینه که لاراول به نسبت فریمورک های دیگه مثل :
- سیمفونی
- کیک پی اچ پی
- codeigniter
- yii
- دیگر فریمورک های پی اچ پی
- و…
چقدر سرچ میشه و سرچ کدوم شون بیشتر هست من به این منظور بررسی رو در گوگل ترند انجام دادم :
در ادامه باهم بیشتر در خصوص لاراول صحبت خواهیم کرد پس همراه من باشید .
میزان محبویت Framework لاراول در سایت گیت هاب:
یکی دیگه از مسائل مهمی که در اینجای مقاله (لاراول چیست ؟ از 0 تا 100 لاراول را بشناسید !) میتونیم بهش اشاره کنیم میزان محبوبیت لاراول در سایت گیت هاب است
که اگر ستاره های ان را با فریمورک های دیگه پی اچ پی مقایسه کنید آمار ان بسیار جالب است به عنوان مثال :
هر ۶ ماه نسخه جدیدی از laravel منشتر میشود و ما در اینده در این خصو بیشتر صحبت خواهیم کرد
در پایان امیدواریم که این مقاله (لاراول چیست ؟ از 0 تا 100 لاراول را بشناسید !) برای شما مفید بوده باشد !
منتظر نظرات شما هستیم !