从symfony函数

时间:2016-07-25 15:16:34

标签: php symfony

如何从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. }

谢谢! :)

1 个答案:

答案 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);
        }
);