laravel console - 自定义命令

文章目录

    在改造一个支付流程,新的流程加入了一个新的数据表字段,但是这个新的字段需要通过计算来填充,所以为了兼容历史数据,必须将已有的数据行重新计算一遍该字段。

    这时使用 laravel console 命令就非常方便,因为可以共用 .env 中的数据库连接配置,以及定义好的 model。

    自动创建 console 命令类

    php artisan make:command YourCommand
    

    这时会看到目录

    app/Console/Commands

    下多了一个新的命令类,在 handle 中写计算逻辑即可。

    console 命令类的几个必填项

    • signature 命令名及参数指定
    • description 命令描述
    • handle 即逻辑部分

    在 console 中输出日志

    $this->info('Display this on the screen');
    

    获取命令行参数

    示例

    protected $signature = 'order:sub {order_id}';
    
    public function handle()
    {
        $order_id = $this->argument('order_id');
         OrderController::pseudo_sub_orders($order_id);
    }
    

    参考

    https://laravel.com/docs/5.6/artisan#introduction

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式