gpt4 book ai didi

php - Magento 2 : How to run CLI command from another CLI command class?

转载 作者:可可西里 更新时间:2023-11-01 00:12:36 26 4
gpt4 key购买 nike

我正在处理自定义 CLI 命令,我想知道从 PHP 代码调用其他命令的最佳方式是什么(没有 shell_exec() 或类似命令)。
例如:
当运行“php bin/magento my:custom:command”时,它会做这件事,最后会运行“php bin/magento cache:flush”。

有任何想法吗?

谢谢。

最佳答案

Magento CLI 建立在 Symfony 控制台之上。您可以使用此组件加载并运行其他命令:

$arguments = new ArrayInput(['command' => 'my:custom:command']);
$this->getApplication()->find('my:custom:command')->run($arguments, $output);

$arguments = new ArrayInput(['command' => 'cache:flush']);
$this->getApplication()->find('cache:flush')->run($arguments, $output);

更多信息 here .虽然这对您来说不太可能成为问题,但请注意文档表明这并不总是最好的主意:

Most of the times, calling a command from code that is not executed on the command line is not a good idea. The main reason is that the command's output is optimized for the console and not to be passed to other commands.

关于php - Magento 2 : How to run CLI command from another CLI command class?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44514026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com