Doctrine ORM CLI工具不工作 [英] Doctrine ORM CLI Tool Not working

查看:132
本文介绍了Doctrine ORM CLI工具不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的教学版本为2.3.2,其CLI工具工作正常。现在,只是尝试更新到ORM v2.4.4,它只是运行./vendor/bin/doctrine命令时出现以下错误:

  PHP Catchable致命错误:参数1传递给
Doctrine\ORM\Tools\Console\ConsoleRunner :: run()必须是
的实例Symfony\Component \Console\Helper\HelperSet,integer,在
/vagrant/vendor/doctrine/orm/bin/doctrine.php(第59行)中调用,并在
/ vagrant / vendor / doctrine / orm / lib / Doctrine / ORM / Tools / Console / ConsoleRunner.php第57行

任何人都可以解释什么可能是错的?谢谢。

解决方案

好的,我找到了解决方案。这就需要cli-config的改动如下:

  $ helperSet = new \Symfony\Component\Console\ Helper\HelperSet(array(
'db'=> new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($ em-> getConnection()),
'em'=> new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($ em)
));
return $ helperSet;

在以前的版本中,只有包含cli-config.php文件才可以(它期望一个变量命名为'$ helperSet')。但是,在新版本中,它需要返回变量并将其分配给其内部变量。


I had doctrine version 2.3.2 , whose CLI tool was working perfectly. Now, just trying to update to ORM v2.4.4, which is having the following error just by running "./vendor/bin/doctrine" command:

PHP Catchable fatal error:  Argument 1 passed to 
Doctrine\ORM\Tools\Console\ConsoleRunner::run() must be an instance of 
Symfony\Component\Console\Helper\HelperSet, integer given, called in 
/vagrant/vendor/doctrine/orm/bin/doctrine.php on line 59 and defined in 
/vagrant/vendor/doctrine/orm/lib/Doctrine/ORM/Tools/Console/ConsoleRunner.php on line 57

Can anybody please explain what might be wrong? Thanks.

解决方案

OK, I found the solution. This requires little change in cli-config as below:

$helperSet = new \Symfony\Component\Console\Helper\HelperSet(array(
    'db' => new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($em->getConnection()),
    'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($em)
));
return $helperSet;

In previous versions, only including the cli-config.php file would be OK(it expected a variable named '$helperSet' ). But, in new version, it requires to return the variable and get it assigned to its internal variable.

这篇关于Doctrine ORM CLI工具不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆