Symfony2/Doctrine2:生成捆绑包外的实体

Dav*_*vid 11 php entities symfony doctrine-orm

我正在尝试为Symfony 2应用程序生成实体.实体将由几个包(可能是几个应用程序)共享,因此我不希望它们属于一个包.我希望它们位于src/MyApp/Entity文件夹中.

我已经为我的实体安装了YML,存储在src/MyApp/Entity/config/doctrine(class1.orm.yml,...)中

我正在尝试使用doctrine:generate:entities任务生成相应的PHP类

这是我在app/config/config.yml中的内容

orm:
    auto_generate_proxy_classes: %kernel.debug%
    auto_mapping: false
    mappings: 
      AppRest: 
        type: yml 
        prefix: AppRest\Entity 
        dir: %kernel.root_dir%/../src/AppRest/Entity/config/doctrine
Run Code Online (Sandbox Code Playgroud)

这是我用来生成实体的命令

php app/console doctrine:generate:entities AppRest/Entity
Run Code Online (Sandbox Code Playgroud)

这是我得到的例外

[InvalidArgumentException]
Bundle "AppRest" does not exist or it is not enabled.
Run Code Online (Sandbox Code Playgroud)

我想让学说理解我并不是想要生成实体.我也尝试指定--path选项(--path = src/AppRest/Entity),但它没有改变任何东西.

有人可以帮忙吗?

编辑:

我删除了我的目录中的额外空间,这解决了问题.必须指定path选项

Dav*_*vid 4

实际上,我只是在上面的 dir 选项中缺少一个空格。现在可以了,但我仍然想知道这是否是最好的方法。

  • Bundle 的目的是将 PHP 代码与 Symfony 集成。从包中移出的代码越多,对 Symfony 的依赖就越少。 (3认同)