我开始了基于Silex Micro Framework的新项目,但我坚持学说cli扩展。我在其他一些项目中使用了Slim,或者我自己的示例框架doctrine cli,并且工作正常。 现在,我的 cli-config.php 非常简单:
require_once './vendor/autoload.php';
use App\Application;
use Symfony\Component\Console\Helper\HelperSet;
use Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper;
use Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper;
$app = Application::getInstance()->configure()->getApp();
$helperSet = new HelperSet(array(
'db' => new ConnectionHelper($app['em']->getConnection()),
'em' => new EntityManagerHelper($app['em'])
));
但效果不好,只需返回doctrine.php内容
SRC_DIR="`pwd`"
cd "`dirname "$0"`"
cd '../doctrine/orm/bin'
BIN_TARGET="`pwd`/doctrine.php"
cd "$SRC_DIR"
"$BIN_TARGET" "$@"
我试过这个命令
php vendor/bin/doctrine.php orm
php vendor/doctrine/orm/bin/doctrine.php
以及许多其他变体,这些都没有对我有帮助。 也许这是一个很小的改变,或错字错误......
PS我在我的cli-config.php文件中调试所有内容,$ app ['em']返回EntityManager的正确实例,一切看起来都不错(对我而言)。