symfony propel:form:generate throws ErrorException

时间:2012-10-08 20:31:20

标签: forms exception symfony propel

我使用symfony-standard 2.1

我的composer.json文件:

{
"name": "xxx",

"description": "xxx",
"autoload": {
    "psr-0": {
        "": "src/"
    }
},
"minimum-stability": "dev",
"authors": [
    {
        "name": "xxx",
        "email": "xxx"
    }
],
"require": {
    "php": ">=5.3.2",
    "ext-iconv": "*",
    "ext-intl": "*",
    "igorw/composer-yaml": "dev-master",
    "symfony/symfony": "2.1.*",
    "doctrine/orm": ">=2.2.3,<2.4-dev",
    "doctrine/doctrine-bundle": "1.0.*",
    "twig/extensions": "1.0.*",
    "symfony/assetic-bundle": "2.1.*",
    "symfony/swiftmailer-bundle": "2.1.*",
    "symfony/monolog-bundle": "2.1.*",
    "sensio/distribution-bundle": "2.1.*",
    "sensio/framework-extra-bundle": "2.1.*",
    "sensio/generator-bundle": "2.1.*",
    "jms/security-extra-bundle": "1.2.*",
    "jms/di-extra-bundle": "1.1.*",
    "propel/propel-bundle": "1.1.*"
},
"scripts": {
    "post-install-cmd": [
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap"
    ],
    "post-update-cmd": [
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap"
    ]
},
"config": {
    "bin-dir": "bin"
},
"extra": {
    "symfony-app-dir": "app",
    "symfony-web-dir": "web"
}
}

我在http://www.propelorm.org/cookbook/symfony2/working-with-symfony2.html

上安装了推进器

然后我使用了comman

  

php app / console propel:form:generate @AcmeDemoBundle Book Author

并抛出异常:

  

[ErrorException]     可捕获的致命错误:参数1传递给Propel \ PropelBundle \ Command \ AbstractCommand :: getSchemasFromBundle()     必须实现接口Symfony \ Component \ HttpKernel \ Bundle \ BundleInterface,null给出,     在第55行的\ vendor \ propel \ propel-bundle \ Propel \ PropelBundle \ Command \ FormGenerateCommand.php中调用     并在\ vendor \ propel \ propel-bundle \ Propel \ PropelBundle \ Command \ AbstractCommand.php第268行中定义

我已经尝试了几次(创建新项目并遵循推进的安装说明);我也通过安装分支1.1的所有标签(一个接一个)来尝试它,但我总是从上面得到ErrorException。 我搜索过是否有人有同样的问题,但我找不到任何人,我不知道自己能做什么。

1 个答案:

答案 0 :(得分:1)

这是你的操作系统?

如果它的窗口和你使用PowerShell,那么你可能会遇到与我相同的问题。 @符号是powershell中的运算符(请参阅What does the "@" symbol do in Powershell?

所以在windows powershell中必须引用包名称

php app/console propel:form:generate '@AcmeStoreBundle'

也许这个问题也出现在其他操作系统上

官方问题:https://github.com/propelorm/PropelBundle/issues/180