如何从symfony函数中将命令作为命令行运行?
E.g。
C:\SymfonyProject> php app/console my-command --option=my-option
我想从一个函数运行此命令。此命令从数据库导出文件,并将此文件放在Symfony Project的app / Resource / translations文件夹中。
即
public function exportFiles(){ // I want to run command here. }
谢谢! :)
答案 0 :(得分:2)
您可以使用Symfony Process component。代码看起来像这样:
private function process(OutputInterface $output)
{
$cmd = 'php app/console my-command --option=my-option';
$process = new Process($cmd);
$process->setTimeout(60);
$process->run(
function ($type, $buffer) use ($output) {
$output->write((Process::ERR === $type) ? 'ERR:' . $buffer : $buffer);
}
);