thinkphp5控制器中调用command命令行程序

前段时间因为业务需求,需要使用thinkphp5在控制器中调用command命令的方式,发现一些问题记录一下。

在thinkphp5控制器中Controller调用command命令行程序实现代码如下:

<?php

namespace app\home\controller;

use think\Console;

class Index
{
    public function index()
    {
        // 调用命令行的指令
        $output = Console::call('app:demo', ['--num', '10']);
        // 获取输出信息
        return $output->fetch();
    }
}

Console::call 方法的第一个参数是指令名称,后面的第二个参数是一个数组,表示调用的参数, 参数与命令行输入相对应,参数和选项需要和command命令行程序相匹配,不然会报错

使用 Console::call 方法调用指令执行不会看到最终的输出结果,需要使用 fetch 方法获取输出信息,一旦发生错误,则会抛出异常。

出处:www.l1mn.com

原文标题:thinkphp5控制器中调用command命令行程序

原文地址:https://www.l1mn.com/p/9ftcu1.html

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

评论

皖ICP备2023023451号

Copyright © L1MN.COM 联系方式:l1mnfw@163.com