Zend Framework 2 中的 Doctrine 默认注释命名空间


Doctrine Default Annotation Namespace in Zend Framework 2

我正在尝试开始使用 ZF2,因为他们已经进入 RC 状态。一切都很顺利,但我想为注释设置一个默认命名空间,以便我可以使用@Table而不是@Doctrine'ORM'Mapping'Table@ORM'Table

从我在 Github 上的自述文件中阅读 Doctrine 模块的文档可以看出,没有选项允许您为读者指定默认命名空间,甚至指定您自己的阅读器类。有谁知道此时是否只是缺少此选项?还是有什么我没有看到的?

正如@Sam所说,use 语句是处理注释命名空间的常规方法。

如果要使用不同的注释读取器,请编写一个新DriverFactory来替换 DoctrineModule 附带的注释读取器,并覆盖模块配置,以便使用新工厂。(如果您认为您的新工厂可能对其他人有用,请随时针对 DoctrineModule 进行公关并分享)

据我所知,注释是由您处理类的使用语句的方式来定义的。 目前你这样做use Doctrine'ORM'Mapping as ORM所以注释抓住@ORM和过去的所有东西都是简单地连接起来的。

所以@ORM'Table变得Doctrime'ORM'Mapping'Table

我的猜测 - 但我还没有测试过这个 - 如果您通过use Doctrine'ORM'Mapping'Table包含 Table 类,@Table将起作用。不过只是一个卑微的猜测。正如您所指出的,ZF2 实现的资源并不多,生活质量功能总是排在最后;)