فهرست:

فریمورک لاراول سه ابزار اصلی را برای تعامل از طریق خط فرمان در اختیار دارد:

  • Artisan
  • Ticker
  • REPL

در این مبحث به طور مختصر درباره خط فرمان Artisan در لاراول توضیح می دهیم.

مقدمه ای بر Artisan

Artisan رابط خط فرمانی است که به طور مکرر در لاراول کاربرد داشته و شامل مجموعه ای از دستورات مفید برای توسعه یک وب اپلیکیشن است.

چند مثال برای Artisan

در اینجا لیستی از چند دستور در Artisan همراه با ویژگی های مربوطه را می آوریم. با خط فرمان زیر می توانید پروژه لاراول خود را شروع و اجرا نمائید.

php artisan serve

با خط فرمان زیر می توانید مکانیزم کش را در پروژه لاراول خود فعال نمائید.

php artisan route:cache

برای مشاهده لیست دستورات موجود و پشتیبانی شده توسط Artisan از خط فرمان زیر استفاده نمائید.

php artisan list

از خط فرمان زیر برای مشاهده راهنما در مورد هر دستوری و مشاهده گزینه ها استفاده نمائید.

php artisan help serve

سفارشی سازی Artisan در لاراول

علاوه بر دستورات ذکر شده در Artisan، کاربر می تواند یک دستور سفارشی ایجاد و در وب اپلیکیشن مورد نظر استفاده کند. لطفاً توجه داشته باشید که دستورات در app/console/commands ذخیره می شوند. دستور پیش فرض برای ایجاد خط فرمان تعریف شده توسط کاربر در زیر نشان داده شده است.

php artisan make:console <name-of-command>

فایل ایجاد شده برای DefaultCommand به عنوان DefaultCommand.php نامگذاری و در زیر نشان داده شده است.

<?php

namespace App\Console\Commands;
use Illuminate\Console\Command;

class DefaultCommand extends Command{
   /**
      * The name and signature of the console command.
      *
      * @var string
   */
   
   protected $signature = 'command:name';
   
   /**
      * The console command description.
      *
      * @var string
   */
   
   protected $description = 'Command description';
   
   /**
      * Create a new command instance.
      *
      * @return void
   */
   
   public function __construct() {
      parent::__construct();
   }
   
   /**
      * Execute the console command.
      *
      * @return mixed
   */
   
   public function handle() {
      //
   }
}

این فایل شامل امضا و توضیحات تعریف شده برای دستوری است، که توسط کاربر ایجاد شده است. تابع handle عملکرد مورد نظر را هنگام اجرای دستور اجرا می کند. این دستورات در فایل Kernel.php در همان دایرکتوری تعریف می شوند. همچنین همانطور که در کد زیر نشان داده شده شما می توانید فهرست کار ها را برای دستور تعریف شده توسط کاربر ایجاد کنید.

<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel {
   /**
      * The Artisan commands provided by your application.
      *
      * @var array
   */
   
   protected $commands = [
      // Commands\Inspire::class,
      Commands\DefaultCommand::class
   ];
   
   /**
      * Define the application's command schedule.
      *
      * @param \Illuminate\Console\Scheduling\Schedule $schedule
      * @return void
   */
   
   protected function schedule(Schedule $schedule) {
      // $schedule->command('inspire')
      // ->hourly();
   }
}

توجه داشته باشید که فهرست کار ها در تابعی به نام schedule تعریف شده است و شامل پارامتری برای زمانبندی کارها بطور ساعتی است. دستورات بصورت آرایه ای تعریف می شوند که شامل مسیر و نام دستورات است. پس از تعریف، دستور مورد نظر در فهرست دستورات Artisan لیست می شود و مقادیر موجود در بخش امضا و توضیحات هنگامی که با خط فرمان help دستور مشخص شده را فراخوانی کنید، نمایش داده می شوند. برای مشاهده ویژگی های دستور DefaultCommand باید مطابق با خط فرمان زیر از این دستور استفاده کنید.

php artisan help DefaultCommand