آموزش ساخت اپلیکیشن مدیریت وظایف با لاراول : قسمت چهارم



visibility  
mode_comment   ۰

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

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

در این قسمت به ساخت بک اند پروژه مدیریت وظایف می پردازیم. در صورتی که مقالات لاراول سایت را دنبال کرده باشید با Route ها و کنترلر ها در فریمورک لاراول آشنایی دارید. در غیر این صورت برای درک راحت تر این مقاله حتما مقالات ما در این زمینه را مطالعه کنید. ما در این سری آموزشی برای ساخت کنترلرها از روش RESTful Controller استفاده می کنیم. اما آیا با RESTful Controller ها آشنایی دارید؟

آموزش لاراول

REST چیست؟

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

به برنامه هایی که طبق معماری REST نوشته می شوند RESTful می گوییم. بنابراین به سادگی کنترلر RESTful همان کنترلری است که بر اساس معماری REST نوشته شده باشد! در معماری REST برای انجام هریک از عملیات CRUD به یک Verb خاص احتیاج داریم. این Verb ها عبارت اند از:

  • GET برای نمایش اطلاعات
  • POST برای ایجاد اطلاعات
  • PUT و PATCH برای ویرایش اطلاعات
  • DELETE برای حذف اطلاعات

info نکته :

REST به هیچ عنوان یک پروتکل یا یک نوع وب سرویس نیست! بلکه یک نوع معماری است که وب سرویس ها می توانند بر اساس آن ساخته شوند.

Resource چیست؟

در معماری REST اطلاعاتی که تحت عملیات CRUD قرار می گیرند همان Resource ها هستند. برای ایجاد، دریافت، تغییر و حذف Resource ها URL های مشخص و قانونمندی در برنامه وجود دارد. مثلا در لاراول، Route های ارتباط با Resource به این صورت هستند:

برای ارتباط استاندارد با Resource ها در لاراول دو راه داریم:

  • استفاده از کنترلر Resource
  • استفاده از کنترلر RESTful

البته هر دوی این روش ها تقریبا مشابه هستند. اما یک تفاوت بسیار ظریف در آن ها وجود دارد! در روش Resource کنترلر که با استفاده از این دستور در روتر تعریف می شود:

و یا:

شما می توانید آزادانه متدهای خود را در کنترلری که آدرس آن را به روتر داده اید تعریف کنید. لاراول آن ها را به صورت اتوماتویک به URL های Resource که در روتر تعریف کرده اید نگاشت یا map می کند. مثلا برای کنترلر مثال بالا، متدها به صورت زیر تعریف می شوند:

اما در روش کنترلر RESTful روت مربوط به کنترلر را به این صورت تعریف می کنیم:

اما نام متدهای کنترلر حتما باید طبق لیست URL های REST که با دستور php artisan route:list قابل مشاهده هستند انتخاب شود. یعنی کنترلر باید کاملا طبق URL های استاندارد Resource های RESTful ساختار بندی شود. البته نگران این استاندارد نباشید! در لاراول شما می توانید با وارد کردن یک دستور ساده در خط فرمان همه این کارها را به صورت اتوماتیک و در عرض چند ثانیه انجام دهید!

ساخت RESTful Controller در لاراول

ساخت یک ساختار RESTful در لاراول بسیار ساده است. بهتر است برای شروع، به سراغ پروژه مدیریت وظایف خودمان برویم. خط فرمان را در مسیر اصلی پروژه باز کرده و دستور زیر را در آن وارد کنید:

این دستور یک کنترلر RESTful را به همراه مدل (Model) لازم برای آن و طبق مدل Resource ایجاد می کند. حالا به مسیر App>Http>Controllers بروید. همانطور که مشاهده می کنید یک فایل جدید با نام TaskController.php ایجاد شده است که حاوی همه متدهای لازم برای عملیات CRUD روی task ها است. در ضمن در مسیر App> Http هم یک مدل با نام Task.php ایجاد شده است.

حالا تقریبا تمام مسیر ساخت RESTful Controller انجام شده است. فقط کافی است URL های لازم برای معماری REST را به روتر لاراول معرفی کنید. برای این کار کافی است کد زیر را در فایل web.php در مسیر Routes وارد کنید:

حالا به خط فرمان رفته و دستور php artisan route:list را در آن وارد کنید. همانطور که می بینید همگی روت های Resource فقط با این کد ساده به اپلیکیشن اضافه شده اند.

جمع بندی

در این قسمت از سری آموزشی " آموزش ساخت اپلیکیشن مدیریت وظیفه با لاراول"   کمی با کنترلرهای RESTful و مفهوم Resource ها آشنا شدیم. همچنین یاد گرفتیم که چطور این مفاهیم را در لاراول پیاده سازی کنیم. سپس کنترلر RESTful لازم برای پروژه لاراولی خود را به راحتی ایجاد کردم. آیا در اجرای کدهای این بخش از آموزش با مشکل مواجه شدید؟ آن را با ما در میان بگذارید تا در حل آن به شما کمک کنیم!

بیشتر مطالعه کنید : 

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

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

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