Pin*_*ini 3 php magento magento2
我正在开发一个自定义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);
Run Code Online (Sandbox Code Playgroud)
更多信息在这里.虽然这对您来说不太可能有问题,但请注意文档表明这并不总是最好的主意:
大多数情况下,从未在命令行上执行的代码调用命令不是一个好主意.主要原因是命令的输出针对控制台进行了优化,而不是传递给其他命令.
| 归档时间: |
|
| 查看次数: |
1806 次 |
| 最近记录: |