执行php-app/console原则:模式:从控制器symfony 2更新



我想执行这个命令

php app/console doctrine:schema:update

在不使用exec php函数的情况下从控件中,

任何评论都将完全用于我。

谢谢!!!

如果您在这里查看,底部有一个如何从symfony代码中执行命令的示例。

还请注意末尾的注释,即在代码中使用命令可能不是一个好主意。

如前所述,应小心使用以下代码。出于symfony文档中所述的原因,我不会使用它,但它确实有效。

当在控制器中使用以下代码时,您可以执行命令:

$kernel = $this->get('kernel');
$application = new SymfonyBundleFrameworkBundleConsoleApplication($kernel);
$application->setAutoExit(false);
$options = array('command' => 'list');
$application->run(new SymfonyComponentConsoleInputArrayInput($options));

如果您需要输出,则必须使用实现OutputInterface的现有类,或者根据需要创建自己的类。

感谢每一个人,

我用了这个代码

            $kernel = $this->get('kernel');
            $application = new SymfonyBundleFrameworkBundleConsoleApplication($kernel);
            $application->setAutoExit(false);
            //Create de Schema 
            $options = array('command' => 'doctrine:schema:update',"--force" => true);
            $application->run(new SymfonyComponentConsoleInputArrayInput($options));
            //Loading Fixtures
            $options = array('command' => 'doctrine:fixtures:load',"--append" => true);
            $application->run(new SymfonyComponentConsoleInputArrayInput($options));

在这个链接中,有一些信息可能对其他有用

谢谢!!!

最新更新