创建任务

你可以使用 Artisan 在 Laravel 中创建任务(控制台命令)。从你的命令行:

php artisan make:console MyTaskName

这将在 app / Console / Commands / MyTaskName.php 中创建文件。它看起来像这样:

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;

class MyTaskName 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()
    {
        //
    }
}

该定义的一些重要部分是:

  • $signature 属性用于标识你的命令。稍后你可以通过运行 php artisan command:name(其中 command:name 与你的命令的 $signature 匹配)使用 Artisan 通过命令行执行此命令
  • $description 属性是 Artisan 在其命令可用时旁边的帮助/用法显示。
  • handle() 方法是你为命令编写代码的地方。

最终,你的任务将通过 Artisan 提供给命令行。此类的 protected $signature = 'command:name'; 属性是你用来运行它的。