Artisan 控制台命令在 5.1 中不起作用

Artisan Console command not working in 5.1

我是 laravel 的新人。我试图创建一个自定义 artisan 命令来在我的测试 project.I 之后创建表 this link 但我的命令不在 artisan list.Event 我试过相同link 中给出的示例,但它也不起作用。我不知道为什么会这样。

我这样做了:

1) 运行 这个命令 php artisan make:console SendEmails

2) 将完整的 class 代码放入 app/Console/Commands/SendEmails.php 文件

<?php

namespace App\Console\Commands;

use App\User;
use App\DripEmailer;
use Illuminate\Console\Command;

class SendEmails extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'email:send {user}';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Send drip e-mails to a user';

    /**
     * The drip e-mail service.
     *
     * @var DripEmailer
     */
    protected $drip;

    /**
     * Create a new command instance.
     *
     * @param  DripEmailer  $drip
     * @return void
     */
    public function __construct(DripEmailer $drip)
    {
        parent::__construct();

        $this->drip = $drip;
    }

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        $this->drip->send(User::find($this->argument('user')));
    }
}

请帮我告诉我我做错了什么。

您只是忘记了注册您的命令

这部分:https://laravel.com/docs/5.1/artisan#registering-commands.

打开 app/Console/Kernel.php 并在 $commands 数组中添加命令 class。

像这样:

protected $commands = [
    Commands\SendEmails::class
];

就是这样。