在 Windows 机器上使用 Symfony 2 & Doctrine 我正在尝试
从现有模式生成实体:
php app/console doctrine:mapping:import --force CoreBundle annotation
在它们上生成 getter/setter:
php app/console doctrine:generate:entities --path=/path/to/codebase/src/MyProject/CoreBundle/Entities CoreBundle
使用Voryx在它们上生成 REST CRUD 控制器:
php app/console voryx:generate:rest --entity="CoreBundle:User"
第一步工作正常,我可以在我的 CoreBundle/Entity 文件夹中找到具有正确命名空间的实体:
MyVendor\MyProject\CoreBundle\Entity
目前很好。但是,运行其他 2 个命令将失败:
[RuntimeException]
Can't find base path for "CoreBundle" (path:
"\path\to\codebase\src\MyProject\CoreBundle", destination:
"/path/to/codebase/src/MyProject/CoreBundle").
我的 composer.json 中的自动加载如下所示:
"autoload": {
"psr-4": {
"MyVendor\\": "src/"
}
},
我发现Doctrine 无法处理 PSR-4 namespaces,这可能是它失败的原因。
不过,我真的很希望实体生活在 PSR-4 CoreBundle 中 - 是否有解决方法?
我试过这个,但它也不起作用:
"autoload": {
"psr-0": {
"MyVendor\\MyProject\\CoreBundle\\Entity": "src/MyProject/CoreBundle/Entity/"
},
"psr-4": {
"MyVendor\\": "src/"
}
},
谢谢你。