ساخت دستورات سفارشی Artisan جهت خودکارسازی وظایف در لاراول

ساخت دستورات سفارشی Artisan جهت خودکارسازی وظایف در لاراول

با سلام. از وب سایت آموزش برنامه نویسی سورس باران در خدمت شما هستیم با مقاله ساخت دستورات سفارشی Artisan جهت خودکارسازی وظایف در لاراول. فریمورک لاراول دستورات زیادی را به منظور انجام کارهای مختلف دارد، اما هنگامی که برنامه تان رشد کرد و بزرگ شد، اجرای مکرر دستورات لاراول از قبیل ایجاد پایگاه داده، کار با داده ها و.. کار وقت گیر و خسته کننده ای خواهد شد.

ساخت دستورات سفارشی Artisan جهت خودکارسازی وظایف در لاراول

  1. آموزش نصب لاراول
  2. آموزش ایجاد دستورات (Command) در لاراول
  3. ساختار یک دستور درلاراول
  4. آموزش ثبت دستورات در لاراول
  5. انجام migrate و ساخت جدول در لاراول
  6. آموزش تنظیم پایگاه داده در لاراول
  7. آموزش اجرای دستور در لاراول

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

  1. php artisan serve
  2. php artisan make:controller
  3. php artisan make:model –m
  4. و …

در این مقاله قصد داریم یک دستور سفارشی Artisan برای ثبت داده های محصولات در پایگاه داده ایجاد کنیم. این مقاله نه تنها به شما یاد می دهد که چطور یک دستور سفارشی Artisan ایجاد کنید، بلکه قادر خواهید بود داده ها را از یک فایل csv خوانده، سپس آنها را تجزیه کرده و در نهایت توسط این دستور سفارشی که ایجاد خواهید کرد، آن را در پایگاه داده ذخیره کنید.

نصب لاراول

برای شروع، باید لاراول را نصب کنیم

دستور بالا یک پروژه لاراول به نام Command را ایجاد می کند.

ایجاد دستور در لاراول

در مرحله قبل لاراول را نصب کردیم، حال می خواهیم اولین دستور سفارشی artisan مان را ایجاد کنیم. برای اینکار دستور زیر را در ترمینال وارد کنید.

هدف ما ایجاد کردن یک دستور برای ثبت داده ها در جدول Product است، به همین دلیل نام دستور را productDate می گذاریم. بعد از اجرای دستور فوق، یک کلاس جدید در مسیر app -> console ->Command ایجاد خواهد شد.

فایل app -> console ->commands ->productDate باز کنید، محتوای این فایل مطابق زیر است که احتمالاً قبلاً با آن آشنا بوده اید.

ساختار یک دستور در لاراول

حال کدهای زیر را برای ایجاد اولین دستور سفارشی در این فایل قرار دهید:

در کد بالا ما نام و امضای دستور به همراه یک توضیح مختصر درباره آن ایجاد کردیم. این آیتم ها هنگام نمایش دستور در لیست دستورات artisan ظاهر خواهد شد.

ثبت دستور در لاراول

کار ما تمام شد، اما این دستوری که ایجاد کردیم هیچ کاربردی ندارد، یعنی لاراول این دستور را نمی شناسد. در قدم بعد باید این دستوری که ایجاد کردیم را به لاراول معرفی کنیم. برای اینکار فایل app ->console ->kernel.php را باز کنید، و کلاس دستوری که ایجاد کردیم را به آرایه $Command اضافه کنید. در زیر نحوه انجام این کار را می بینید:

حال با موفقیت دستوراتمان را به لاراول معرفی کردیم. برای اینکه مطمئن شویم دستوراتمان در لاراول ثبت شده یا نه، دستور زیر را در ترمینال وارد کنید:

و همان طور که می بینید دستوری که ایجاد کردیم، در لیست دستورات artisan نمایش داده می شود.

به این ترتیب توانستیم اولین دستوراتمان را ایجاد و ثبت کنیم.

انجام migrate و ایجاد جدول

حال برای کاربردی کردن دستور ایجاد شده، قصد داریم یک مدل به همراه فایل migration برای جدول product ایجاد و سپس یک متد برای اجرای دستور ایجاد شده در کنسول تعریف می کنیم. برای ایجاد مدل به همراه فایل migration دستور زیر را در ترمینال بنویسید.

دستور بالا دو فایل را برایمان ایجاد می کند. یکی در مسیر app -> product و دیگری database -> migration ->create_product_table.

و محتوای هر کدام را در زیر می بینید.

و

تنظیم پایگاه داده

فایل .env را باز کرده و قسمت مربوط به پایگاه داده را مطابق زیر تنظیم کنید. قسمت نام پایگاه داده و نام کاربری و … را مطابق با مشخصات پایگاه داده خودتان را تنظیم کنید.

حال با اجرای دستور زیر جدول را در پایگاه داده ایجاد کنید.

اجرای دستور

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

برای دانلود فایل CSV یی که در این پروژه استفاده می کنیم، اینجا را کلیک کنید. حال باید مطمئن شویم که دستور کار خواهد کرد یا خیر. برای اینکار دستور زیر را در ترمینال وارد کنید.

بعد از اجرای دستور بالا باید پیامی تحت عنوان product data added successfully را دریافت کنید. به این ترتیب توانستیم اولین دستور سفارشی مان را با موفقیت طراحی و اجرا کنیم . ساخت دستورات سفارشی کاربردهای زیادی دارد، به عنوان مثال هنگام توسعه یک برنامه در لاراول برای قسمت های تکراری و وقت گیر یک دستور را ایجاد کنید. به این ترتیب هنگام توسعه یک برنامه در لاراول صرفه جویی زیادی در وقت و هزینه شما خواهد شد.

همان طور که در این مقاله دیدید توانستیم صرفاً با اجرای یک دستور، داده های یک فایل CSV را خوانده ودر پایگاه داده ذخیره کردیم. امیدوارم این آموزش برای شما مفید بوده باشد