campaign-off40

مزیت های لاراول - دلایل استفاده از فریم ورک Laravel



visibility  
mode_comment   ۱

فریمورک لاراول در سال های گذشته به یکی از محبوب ترین فریم ورک های PHP تبدیل شده است. دلایل این محبوبیت را می توان در موارد زیادی جستجو کرد. اما یکی از مهم ترین دلایل آن امکانات بسیار زیاد و شگفت انگیز این فریمورک است. امکاناتی که کار با آن را لذت بخش و انجام پروژه ها با استفاده از آن را سریع و راحت کرده است. در مقالات قبلی این فریمورک محبوب را به شما معرفی کردیم و پیشنیازهای آن را برشمردیم. حال باید ببینیم در صورت کار با این فریمورک از چه مزایایی برخوردار می شویم. البته مواردی که در ادامه می گوییم، تنها بخش کوچکی از امکاناتی است که لاراول سخاوتمندانه در اختیار شما قرار می دهد!

آموزش لاراول

امنیت

فریمورک لاراول یک فریمورک بسیار امن است. گرچه هیچ فریمورکی نمی تواند ادعا کند که 100% امن است و هیچ راهی برای نفوذ به آن وجود ندارد. به یاد داشته باشی همیشه راه هایی برای امن تر کردن اپلیکیشن های لاراول وجود دارد. بنابراین به امکانات امنیتی لاراول اکتفا نکنید و سعی کنید همیشه در مورد راه های امن تر کردن آن مطالعه و تحقیق کنید.

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

احراز هویت آماده Auth

فریمورک لاراول دارای یک سیستم احراز هویت قدرتمند به همراه کدهای آماده پیکر بندی آن است. کافی است پس از نصب لاراول Authentication آن را فعال کرده و از سیستم ثبت نام (Sign Up) ،ورود (Sign In) و خروج (Log Out) آن لذت ببرید.

جلوگیری از حملات CSRF

برای آن که مطمئن شویم کسی نمی تواند به وب سایت ما ریکوئست های قلابی (Fake)  بفرستد و از این طریق از آن سوء استفاده کند، لاراول از توکن های CSRF استفاده می کند. چرا که در غیر این صورت هکرها می توانند از طریق این ریکوئست های قلابی به لاراول نفوذ کنند. به این گونه حملات CSRF یا Cross Site Request Forgery گفته می شود.

به همین دلیل در هر بار ارسال ریکوئست با ایجکس در لاراول یک توکن به نام توکن CSRF ایجاد شده و به همراه ریکوئست ارسال می شود.  وقتی ریکوئست دریافت شد لاراول توکن موجود در ریکوئست را با توکن ذخیره شده در سشن (Session) کاربر مقایسه می کند. اگر این دو توکن با هم بربر نباشند، ریکوئست، نامعتبر (Invalid Request) محسوب می شود.

تنها وظیفه شما در این فرآیند این است که در هنگام ایجاد فرم های HTML یک فیلد حاوی توکن CSRF را در آن جای دهید. توجه داشته باشید که توکن CSRF توسط خود لاراول تولید می شود و کافی است که از آن در کد استفاده کنید. به این نمونه توجه کنید:

پردازش درخواست ها با Middleware

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

  • پیاده سازی سایت های چند زبانه
  • پیاده سازی حالت در دست تعمیر
  • شناسایی ریکوئست هایی که از طرف ربات ها می آیند و جلوگیری از حملات DDOS
  • لاگ کردن و...

اعتبارسنجی فرم ها با Validation

در حال نوشتن هر وبسایتی که باشید، اعتبار سنجی (Validation) داده هایی که از کاربران می گیرید یعنی همه چیز! بی توجهی به این نکته امنیتی می تواند خسارات  بزرگی به وبسایت شما وارد کند و آن را آسیب پذیر کند. گاهی نوشتن دستی همه کدهای اعتبارسنجی بسیار زمان بر و کسل کننده می شود. اما لاراوال این مشکل را حل کرده است. لاراول دارای یک سیستم اعتبار سنجی قوی است. کافی است مشخص کنید هر فیلد از فرم باید از چه نظر اعتبار سنجی شود. یعنی قوانین اعتبار سنجی را مشخص کنید. همه چیز به صورت خودکار انجام می شود!

دیتابیس

فریمورک لاراول از امکانات زیادی برای آسان سازی ارتباط با دیتابیس برخوردار است. در حال حاضر لاراول از پایگاه های داده MySQL، SQLServer، PostgreSQL و SQLLite پشتیبانی می کند. در ادامه با تعدادی از امکاناتی که لاراول برای ارتباط با دیتابیس در اختیار شما قرار می دهد آشنا می شوید.

ساخت اتوماتیک جداول با Migration

ساخت جداول و تعیین ویژگی های ستون های جداول کاری بسیار وقت گیر است. اما لاراول با ارائه Migration در خود، این مشکل را حل کرده است. کافی است نام جداول و ویژگی های ستون های آن ها را به مختصرترین حالت ممکن در کلاس های Migration بنویسید. از این پس برای ساخت جداول در هر سروری، کافی است با دستور ساده Migrate تمام جداول را یکجا در دیتابیس بسازید. در واقع Migration یک راه شسته و رفته برای مشخص کردن ساختار جداول دیتابیس بدون نوشتن کوئری های زیاد و آزار دهنده است.

از سوی دیگر Migration را می توان یک نوع گیت (Git) دیتابیسی دید. همانطور که گیت ورژن های مختلف برنامه را در خود نگهداری می کند، با استفاده از Migration می توانید هر لحظه به تغییر قبلی که در دیتابیس داده اید برگردید و همه چیز را به حالت اول برگردانید. کافی است از یک دستور Rollback استفاده کنید.

ارتباط آسان با پایگاه داده با Eloquent ORM

الوکوئنت (Eloquent) یک ORM (Object Relational Model) است که توسط لاراول پیاده سازی شده است. با استفاده از ORM در معماری MVC، هر مدل در برنامه به صورت یک جدول در پایگاه داده دیده می شود. هر شی از آن مدل، یک رکورد از جدول محسوب می شود. با این روش می توانیم به همان راحتی کار با اشیا و کلاس ها با جداول پایگاه داده و دیتای داخل آن ها ارتباط برقرار کنیم.

گفتیم الوکوئنت یک پیاده سازی از مدل ORM است. بنابراین هر مدل در لاراول یک جدول پایگاه داده محسوب می شود. ارتباط با جداول در الوکوئنت بسیار ساده است. مثلا فرض کنید یک جدول پایگاه داده به نام posts داریم. به تناسب آن یک مدل در الوکوئنت به نام POST تعریف شده است. برای دریافت تمام رکورد های جدول posts  در حالت بدون الوکوئنت مجبوریم کوئری SQL بنویسیم. اما با استفاده از الوکوئنت تنها یک خط کد Post::all() کافی است! چند نمونه ساده دیگر در زیر آمده است:

عملکرد دستور
همه رکوردهای جدول posts را می گیرد. Post::all();
رکورد با id داده شده از جدول posts را حذف می کند. Post::delete($id);
رکورد با id داده شده از جدول posts را ارائه می دهد. Post::find($id);

البته الوکوئنت دستورات زیاد و متنوعی دارد که همگی کار با دیتابیس را بسیار ساده می کنند. اما در اینجا تنها به ذکر چند نمونه ساده بسنده کردیم.

خط فرمان Artisan

فریمورک لاراول دارای یک خط فرمان قدرمند است که با استفاده از آن می توانید سرعت کدنویسی را به میزان قابل ملاحظه ای بالا ببرید. این خط فرمان آرتیسن (Artisan) نام دارد. آرتیسن می تواند به طور اتوماتیک برای شما مایگریشن، کنترلر به همراه توابع اصلی، مدل و... بسازد. می تواند یک سرور مجازی برای تست لاراول راه اندازی کند یا دیتابیس های شما را با استفاده از مایگریشن ها تغییر دهد.

جمع بندی

شکی نیست که این روزها لاراول به محبوب ترین فریمورک PHP تبدیل شده است. اکوسیستم بزرگ، به روز رسانی های سریع و امکانات زیاد از دلایل این محبوبیت است. در این مطلب به معرفی برخی از امکانات فریمورک لاراول پرداختیم. نگران امنیت برنامه های خود هستید؟ این موضوع را به لاراول بسچارید و خودتان به فکر راه های قوی تر کردن وب اپلیکیشن یا وب سایتتان از نظر امنیتی باشید! لاراول حتی شما را از درگیر شدن با پیچیدگی ها و کدهای زیاد و تکراری دیتابیسی تقریبا بی نیاز می کند! چه امکانات دیگری از این فریمورک شگفت انگیز می شناسید؟

متخصص PHP
اگر دوست داری برنامه نویسی PHP رو حرفه ای یاد بگیری آیا می دانید بیش از ۸۰% وب سایت های موجود در ایران از جمله لیدرهای بازار وب (اسنپ، اسنپ فود، نت برگ، دیجیکالا، الوپیک و ... ) زبان برنامه نویسی PHP را به عنوان زبان اصلی برای پیاده سازی امکانات سمت سرور خود انتخاب کردند! متخصص PHP arrow_back
7Learn Experts
comment دیدگاه کاربران
Sajad Bagheri replyپاسخ

عالی مثل همیشه

add_circle ارسال دیدگاه

خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :