با سپهر دیجیتال همراه باشید
زمانی که در مورد فریم ورکهای توسعه وب اپلیکیشن صحبت میشود، همیشه نام لاراول به میان میآید. از لاراول میتوان به عنوان محبوبترین فریم ورک زبان برنامه نویسی PHP یاد کرد. این فریم ورک توانسته است در زمانی کوتاه، به اولین گزینهی توسعه دهندگان برای توسعه برنامههای پیچیده تحت وب تبدیل شود.
لاراول فریم ورکی مبتنی بر معماری MVC است که به صورت رایگان و متن باز ارائه شده است. این فریم ورک امکانات هوشمندی در اختیار برنامه نویسان قرار میدهد و برنامه نویسی را برای آنها لذت بخشتر میکند.
این فریم ورک در بین سایر فریم ورکهای PHP از امنیت و سرعت توسعهی بیشتری برخوردار است و از طریق آن شما قادر خواهید بود بدون اینکه تغییری در کدهای اصلی ایجاد کنید، عملکرد بسیاری از بخشها را تغییر دهید. لاراول کتابخانههای بسیار متنوعی دارد و از اغلب کتابخانههای فریم ورک سیمفونی نیز استفاده میکند. همچنین این فریم ورک سرویسهای مختلفی را برای برنامه نویسان ارائه میدهد. به عنوان مثال سرویس هایی همچون تأیید هویت، دسترسیهای کاربران، کنسول Artisan، پرداخت و صورتحساب، کش (Cache) و … که تنها بخش کوچکی از سرویس هایی است که این فریم ورک در اختیار برنامه نویسان قرار میدهد.
تاریخچه فریم ورک لاراول چیست ؟
حال که فهمیدیم فریم ورک لاراول چیست، در این بخش قصد داریم تاریخچه آن را مورد بررسی قرار دهیم. تیلور اوتوِل (Taylor Otwell) خالق فریم ورک Laravel است. او با هدف ارائه یک راه حل پیشرفتهتر نسبت به فریم ورک CodeIgniter، لاراول را برای توسعه وب اپلیکیشنها ارائه کرد.
فریم ورک laravel – نسخه 1
اولین نسخه این فریم ورک در سال ۲۰۱۱ در اختیار توسعه دهندگان قرار گرفت. سپس یک ماه بعد، نسخه کامل شده و پایدار لاراول منتشر گردید. نسخه لاراول ۱ شامل مکانسیمهای Model ،View ،Session و Navigation بود ولی نبود Controller در آن باعث شد تا این فریم ورک از معماری MVC به صورت واقعی پشتیبانی نکند.
فریم ورک laravel – نسخه 2
لاراول ۲ در همان سال ۲۰۱۱ همراه با بهینه سازیهای متعددی منتشر شد. اصلیترین ویژگی که در این نسخه افزوده شد، پشتیبانی از Controllerها بود. Laravel با ارائه این نسخه توانست به صورت کامل از معماری MVC پشتیبانی کند و به عنوان یک فریم ورک شناخته شود. دومین ویژگی که در این نسخه اضافه شد، موتور رندر قالب blade بود. این موتور رندر با هدف افزایش سرعت توسعه قالبها و کاهش میزان کدنویسی ارائه شد.
فریم ورک laravel – نسخه 3
سومین نسخه از Laravel در سال 2012 منتشر شد. از ویژگیهای مهمی که به این فریم ورک اضافه شده بود، استفاده از خط فرمان CLI بود که با نام artisan شناخته میشد. artisan امکانات بسیاری زیادی در اختیار توسعه دهندگان قرار میدهد. پشتیبانی داخلی از مدیریت سیستم پایگاه داده و ابزارهای کنترلی آن به نام migration ها، پشتیانی از سیستم Packaging و اضافه شدن مستندات بسیار غنی در قالب سایت laravel.com بخشی از ویژگی هایی بود که در این نسخه از Laravel ارائه شده بودند. سومین نسخه از این فریم ورک، توانست محبوبیت زیادی را در بین کاربران ایجاد کند.
فریم ورک laravel – نسخه 4
پس از موفقیت هایی که این فریم ورک در نسخه سوم به دست آورد، در سال ۲۰۱۳ چهارمین نسخه آن بر پایه کدهای Illuminate منتشر شد. این نسخه از لاراول به صورت کامل مورد بازنویسی قرار گرفت و با پشتیبانی از سیستم Composer گام بلندی در جهت پیشرفت و سبقت از سایر رقیبان خود برداشت. به دلیل استفاده از این ویژگی امکان استفاده از پکیجها و کتابخانههای زیادی که توسط سایر برنامه نویسان PHP توسعه داده شده بود، برای کاربران امکان پذیر شد. همچنین امکاناتی مانند ارسال ایمیل به روشهای مختلف و پشتیبانی از حذف شدن با تأخیر رکوردهای بانک اطلاعاتی (Soft Deletion) از دیگر امکانات نسخه 4 لاراول بود.
فریم ورک laravel – نسخه 5
در سال 2015 پس از دو سال از ارائه چهارمین نسخه از این فریم ورک، نسخه 5 لاراول منتشر شد. این نسخه از لاراول از ویژگیهای بسیار متعددی پشتیبانی میکرد. پشتیبانی از سیستم برنامه ریزی اجرای وظایف با استفاده از پکیج Scheduler، بهینه سازی assets، ساده شدن عملیات احراز هویت، همچنین ارائه ساختار درختی برای توسعه اپلیکیشنها، بخشی از قابلیتهای اضافه شده در لاراول 5 بود. این نسخه از Laravel به صورت مداوم مورد بروزرسانی قرار گرفت و در هر یک از این بروزرسانیها امکانات و ویژگیهای زیادی به این فریم ورک اضافه شد.
فریم ورک laravel – نسخه 6
پس از مدتی لاراول نسخه 6 خود را منتشر کرد، لاراول در نسخه 6 تلاش کرده است تا نقصهای نسخه 5.8 را برطرف کند و ویژگیهای مورد انتظار طرفدارانش را فراهم سازد از جمله:
- حذف توابع کمکی Array-String : لاراول با حذف این توابع، آنها را در قالب Composer Packageها ارائه داده است.
- توسعه Carbon 2 : در این نسخه استفاده از کربن 2 (Carbon 2) امکان پذیر شده است.
اما یکی از مهمترین اتفاقاتی که همزمان با معرفی لاراول 6 رخ داد، معرفی پلتفرم قدرتمند Laravel Vapor است که قابلیتهای زیادی برای برنامه نویسان به ارمغان میآورد.
معرفی Laravel Vapor همزمان با تغییرات لاراول 6 :
در حال حاضر توسعه دهندگان از Forge برای تحویل و ارائه اولیه اپلیکیشن هایی که با PHP توسعه داده شده است در بسترهایی مانند AWS، Linode و غیره استفاده میکنند. Forge برای پروژههای کوچک یا متوسط مناسب است و در لود پایین سیستم عملکرد خوبی دارد. اما همچنان محدودیت هایی مانند انطباق نسخههای مختلف PHP با تغییرات سیستم عاملها وجود دارد که نیازمند برطرف شدن است. یکی از سرویسهای جدید لاراول، پلتفرم قوی و مستقل از سرور Laravel Vapor است که با عرضه امکانات زیر سعی دارد بسیاری از نگرانیهای توسعه دهندگان PHP را برطرف کند:
- بهبود مقیاس پذیری: این پلتفرم قادر است بیش از نیم میلیون درخواست را با سرعت میانگین 12 میلی ثانیه پاسخ دهد.
- آسان کردن هماهنگی ها: در این پلتفرم میتوان با تعریف یک مدل برنامه ریزی، چندین تیم ایجاد کرد تا هماهنگی بین بخشهای مختلف پروژه آسان شود. همچنین امکان کنترل همه جانبه و بررسی عملکرد همه اعضای تیم وجود دارد.
- شاخصهای محیطی : Vapor با ارائه شاخصهای محیطی تعریف شده خود، دیدی جامع از محیط اپلیکیشن به شما میدهد. شاخص هایی مانند تعداد درخواستهای ارسال شده به برنامه در 24 ساعت گذشته، تعداد دفعات فراخوانی واسط خط فرمان (CLI) و غیره.
- دسترسی به Log: از طریق Vapor UI هر زمان که بخواهید به آخرین لاگهای خود دسترسی دارید. لاگها فایل هایی هستند که همه اطلاعات مربوط به رویدادهای سیستم و برنامهها در آنها ذخیره شده است.
- تعامل با دیتابیس ها: Vapor در ایجاد، مدیریت، تغییر سایز و بازیابی دیتابیسهای قدیمی و یا مستقل از سرور نیز کاربردی است.
- بهبود Cache: افزایش کَش و بهبود سرعت از دیگر قابلیتهای پلتفرم Vapor است.
لاراول فریم ورکی قوی برای پیاده سازی اپلیکیشنهای بزرگ است و از آن در پروژههای زیادی استفاده میشود.
فریم ورک laravel – نسخه 7
آخرین نسخه حال حاضر Laravel، نسخه 7 میباشد که نسبت به نسخه قبلی آن، تغییرات و بهبودهای چشمگیری پیدا کرده است بعد از معرفی لاراول 6 و تغییرات عمدهای که داشت، حتی لوگو لاراول نیز تغییر کرد، اینبار لاراول 7 با هدف بهبود و ارتقا نسخه 6 لاراول منتشر شده است.
نسخه 7 لاراول همراه با انتشارش، ویژگیهای جدید بسیاری با خود داشته است. همچنین این نسخه تغییرات زیادی داشته است، پس برای بروزرسانی نسخه از 6 به 7 نیاز دارید تغییراتی را اعمال کنید.
نسخه بندی معنایی لاراول
لاراول از نسخه 6 آن که تغییرات عمدهای نیز داشت، برای نسخههای بعدی خود متدی را تحت عنوان Semantic Versioning یا نسخه بندی معنایی ارائه کرد. در این روش هر شش ماه یکبار یک نسخه از لاراول ارائه میشود. این بدین معنی نیست که در هر نسخه تغییرات زیادی خواهیم داشت ولی ممکن است تغییرات کوچک اما کاربردی را در لاراولهای بعدی ببینیم.
سیاست پشتیبانی
لاراول نسخه 7 خود را به عنوان نسخه LTS معرفی کرد و این بدین معنی است که این نسخهها رفع باگها آنها تا 2 سال و رفع مسائل امنیتی تا 3 سال، پشتیبانی خواهد شد. برای نسخههای عمومی این پشتیبانی به صورت، رفع باگ تا 6 ماه و مسائل امنیتی تا 1 سال، انجام میشود.
توسعه دهندگان این فریم ورک همواره در تلاش اند تا استفاده از این فریم ورک را برای کابران ساده و لذت بخشتر کنند. بنابراین آنها بیش از پیش به توسعه لاراول میپردازند تا سیر تکاملی و رو به پیشرفت آن را حفظ کنند. تا کنون بروزرسانیهای زیادی پس از نسخه 7 لاراول ارائه شده است. در هر یک از این بروزرسانیها امکانات منحصر به فرد و کاربردی به این فریم ورک اضافه شده است. یکی از عوامل اصلی محبوبیت لاراول در میان کاربران، همین بروزرسانیهای مداوم است.
قابلیتها و مزایای فریم ورک لاراول چیست؟
فریم ورک Laravel مزایای بسیار زیادی دارد که با هر بروزرسانی شمار آنها افزایش مییابد. از Laravel تحت عنوان هایی مانند جادوگر دنیای وب هم یاد میشود. زیرا بسیاری بر این اعتقادند که کارهایی که این فریم ورک در فرآیند توسعه وب اپلیکیشن انجام میدهد، جادویی میباشند.
در لاراول با کمترین میزان کدنویسی و با وارد کردن دستوراتی کوتاه، کارهای بزرگی را میتوان انجام داد. از جمله میتوان به سیستم پیاده سازی فرمهای عضویت و ورود در Laravel اشاره کرد. این بخش در لاراول تنها با وارد کردن یک دستور پیاده سازی میشود. همچنین برای این که فریم ورک Laravel پاسخگوی نیازهای مختلف ما باشد، از Composer استفاده میکند که برای بروز رسانی لاراول نیز دقیقا از همین ابزار استفاده میشود. در ادامه به توضیح هر کدام از این مزایای Laravel میپردازیم.
تنها بعضی از مزایای لاراول :
- استفاده از معماری MVC
- متن باز (Open Source) بودن
- آسانی در یادگیری
- افزایش سرعت توسعه پروژه
- امنیت بالا
- بروز رسانی آسان
- آسانتر کردن اعمالی همچون احراز هویت (Authentication) ، مسیریابی (Routing) و Cache کردن
- استفاده از Remote Component
- افزایش چشمگیر سرعت کد نویسی
- توسعه برنامه بدون به خطر افتادن قابلیتها و کدهای قبلی برنامه
- محدود کردن Eloquent با استفاده از دستوراتی ساده
- قابلیت اجرای آزمایشهای متعدد مانند Unit Testing با استفاده از دستوراتی ساده
- قابلیت دسترسی آسان به Database توسط Migration ها
- خط فرمان فوق العاده Artisan
- قابلیت ایجاد Packageهای مختلف
- استفاده از خصوصیت auto-loading
- استفاده از ابزار ORM
- استفاده کردن از موتور Template Blade
- امکان تعریف RESTFUL controllers:منطقی برای سهولت استفاده از کنترلرها و کاهش کدها در آن بر پایه درخواستهای GET و POST است.
- استفاده از خصوصیت auto-loading:خصوصیت auto-loading در لاراول امکان لود اتوماتیک کلاسها و کامپوننتها را در صورت نیاز به آنها فراهم کرده است.
راحتی استفاده از پایگاه داده: با استفاده از سیستم ORM یا همان ابزار Elequent در لاراول میتوانید با انواع پایگاه دادهها ارتباط برقرار کرده و انواع کوئریها را در آن به کار بگیرید. - استفاده از ابزار unit testing:با استفاده از ابزار تست لاراول به راحتی میتوانید برنامههای خود را تست کنید.
- استفاده از قالب blade:میتوان از دادههای برنامه در view توسط قالب blade استفاده کرد.
- ایجاد پکیجها:در لاراول به راحتی میتوانید پکیجهای موردنظر خود را ایجاد کنید و از آن در برنامههای خود بهره ببرید، یا آن را با دیگران به اشتراک بگذارید.
- استفاده از خط فرمان artisan:استفاده از خط فرمان artisan این امکان را میدهد تا کارهای پیچیدهای را توسط چند خط کد ساده انجام دهیم.
- استفاده از migration:استفاده از این قابلیت این امکان را فراهم کرده است که تغییرات بانک اطلاعاتی به همراه سورس کد پروژه قابل انتقال باشد.
- نصب آسان:از مزیتهای لاراول این است که نصب این فریم ورک و کار با آن بسیار راحت است.
- استفاده از کامپوننتها:لاراول از پکیجها و کامپوننتهای زیادی بهره میبرد که به راحتی بر روی پروژه نصب و استفاده میشوند.
- امنیت:یکی از مهمترین مسائلی که برای یک برنامه نویس اهمیت دارد، امنیت برنامهی در حال ساخت است. لاراول از سطح بالایی از امنیت برخوردار است.
- مسیریابی:راحتی کار و قدرت مسیریابی لاراول از مهمترین ویژگیهای لاراول است.
اعتبار سنجی با Validation در لاراول :
گاهی نوشتن دستی همه کدهای اعتبارسنجی بسیار زمانبر و کسل کننده میشود. اما Laravel این مشکل را حل کرده است. لاراول دارای یک سیستم اعتبارسنجی قوی است. کافی است مشخص کنید هر فیلد از فرم باید از چه نظر اعتبار سنجی شود. یعنی قوانین اعتبار سنجی را مشخص کنید. بعد از آن همه اعتبارسنجیها بهصورت خودکار انجام میشود.
مزیت قابلیت Sync شدن با ایمیلها در لاراول :
تصور برنامهای امروزی بدون قابلیت فرستادن یا دریافت Email ممکن نیست. لاراول با تمام سرویسهای دریافت و ارسال Email، به آسانی Sync میشود.
لاراول بهغیر از توابع SMTP و PHP mail، از بسیاری از سرویسهای ایمیل رسانی دیگر مانند Mailgun Mandrill ، SparkPost ، Amazon SES ، SendMail و غیره پشتیبانی میکند. همچنین میتوانید با استفاده از Email ،Nexmoها را از طریق Slack یا SMS ارسال کنید.
سیستم امنیتی بسیار بالا و پیشرفتهی لاراول :
برای آن که مطمئن شویم کسی نمیتواند به وب سایت ما ریکوئستهای Fake بفرستد و از این طریق از آن سوء استفاده کند، لاراول از توکنهای CSRF استفاده میکند. چرا که در غیر این صورت هکرها میتوانند از طریق این ریکوئستهای Fake به وب سایت ما نفوذ کنند. به این گونه حملات CSRF یا Cross Site Request Forgery گفته میشود.
به همین دلیل در هر بار ارسال Request با Ajax در لاراول یک Token بهنام CSRF Token ایجاد شده و به همراه Request ارسال میشود و وقتی Request دریافت شود، لاراول Token موجود در Request را با Token ذخیره شده در Session کاربر مقایسه میکند. اگر این دو Token با هم برابر نباشند، Request نامعتبر (Invalid Request) محسوب میشود. تنها وظیفهی شما در این فرآیند این است که در هنگام ایجاد فرمهای HTML یک فیلد حاوی CSRF Token را در آن قرار دهید. توجه داشته باشید که CSRF Token توسط خود لاراول تولید میشود و کافی است که از آن در کد استفاده کنید.پس نتیجه میگیریم که یکی دیگر از مزیتهای مهم و بزرگ فریم ورک لاراول، همین سیستم امنیتی بسیار بالا و پیشرفته آن است که از وب سایت شما در مقابل injectionها و حملات XSS و CSRF محافظت میکند و کسی که در حال برنامه نویسی با استفاده از فریم ورک لاراول میباشد دیگر نیازی نیست که نگران این موارد باشد.
و در آخر چرا لاراول به عنوان بهترین فریمورک PHP شناخته میشود؟
هر روزه برنامه نویسان بیشتری به فریم ورک Laravel علاقهمند میشوند و تعداد استفاده کنندگان این فریم ورک افزایش مییابد. با توجه به پیشرفت چشمگیر و روند رو به رشدی که این فریم ورک دارد، انتظار میرود آیندهی بسیار خوبی در انتظارش باشد. مزایا و خصوصیات بسیار خوب این فریم ورک و برتری هایی که نسبت به سایر فریم ورکها دارد، آن را به یک گزینهی بسیار خوب برای برنامه نویسان تبدیل کرده است. اگرچه استفاده از فریم ورکها کاملاً سلیقهای است و نمیتوان یکی از آنها را برتر و قویتر از دیگر فریم ورکها دانست، اما بدون شک فریم ورک لاراول در صدر محبوبترین و بهترین فریم ورکهای PHP خواهد بود.