Doctrine ORM CLI 工具不起作用
Posted
技术标签:
【中文标题】Doctrine ORM CLI 工具不起作用【英文标题】:Doctrine ORM CLI Tool Not working 【发布时间】:2014-08-05 05:21:28 【问题描述】:我有学说版本 2.3.2,它的 CLI 工具运行良好。现在,只是尝试更新到 ORM v2.4.4,仅通过运行“./vendor/bin/doctrine”命令就会出现以下错误:
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
谁能解释一下可能出了什么问题?谢谢。
【问题讨论】:
【参考方案1】:好的,我找到了解决方案。这需要对 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' 的变量)。但是,在新版本中,它需要返回变量并将其分配给其内部变量。
【讨论】:
对于那些想知道$em
是什么的人:$em = \Doctrine\ORM\EntityManager::create($doctrineConnection, $doctrineConfiguration);
,以上是关于Doctrine ORM CLI 工具不起作用的主要内容,如果未能解决你的问题,请参考以下文章