流明 make:command

Lumen make:command

我正在尝试通过命令行在我的 Lumen 安装中执行代码。完整 Laravel ,我读到你可以通过 "make:command" 使用命令来实现这一点,但 Lumen 似乎不支持这个命令。

有没有办法启用这个命令?如果做不到这一点,那么从 Lumen 中的 CLI 获取 运行 代码的最佳方式是什么?

谢谢

您可以在 Lumen 中使用 artisan CLI,就像在 Laravel 中一样,但内置命令更少。要查看所有内置命令,请在 Lumen 中使用 php artisan 命令。

虽然 Lumen 没有 make:command 命令,但您可以创建自定义命令:

  • app/Console/Commands文件夹中添加新命令class,可以使用框架的示例class模板serve command

  • 通过将您创建的 class 添加到 app/Console/Kernel.php 文件中的 $commands 成员来注册您的自定义命令。

除了生成命令外,使用 Lumen 时可以使用 Laravel docs 命令。

创建命令时 class 使用此命令:

<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;

而不是上面描述的关于使用 serve command 示例

这是新命令的模板。 您可以将其复制并粘贴到一个新文件中并开始工作。 我在 lumen 5.7.0

上测试过
<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;

class CommandName extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'commandSignature';

    /**
     * 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()
    {

        $this->info('hello world.');
    }
}

然后在Kernel.php文件中注册。

/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
   \App\Console\Commands\CommandName::class
];