【问题标题】:Symfony2 - Doctrine ListenersSymfony2 - 教义听众
【发布时间】:2011-12-01 13:05:46
【问题描述】:

在我的应用程序中,我有一个监听器,它正在从模型文件中读取注释(就像学说扩展 Gedmo),但我不明白一件事。 在注释驱动程序中有一个名为 validateFullMetadata() 的方法,我不知道何时调用此方法。 我发现 DriverChain(来自 Gedmo)实现了这个方法,但它是空的。

有人可以解释一下何时调用此方法以及使用它的一般目的是什么? 在我看来,此方法用于验证元数据值,但我可能错了。 文档还说,如果有的话,应该从继承的类中调用它。但我不知道这意味着什么。

【问题讨论】:

    标签: php doctrine symfony


    【解决方案1】:

    好的,经过深入研究,我有了答案。

    只有当实体从MappedSuperclass 扩展某些字段时,才应使用方法 validateFullMetadata()。但是gedmo映射扩展存在一个小问题。当来自对象管理器的注释驱动程序是 DriverChain gedmo 创建时,它拥有驱动程序链。

    方法被调用,但 gedmo Gedmo/Mapping/Driver/Chain.php(链类)将此方法为空(公共函数 validateFullMetadata(data) {}),没有任何代码,因此永远不会从侦听器的驱动程序中调用它。 新issue添加在github,更多信息可以查看here

    【讨论】:

      猜你喜欢
      • 2011-09-10
      • 2012-05-30
      • 1970-01-01
      • 2013-03-04
      • 1970-01-01
      • 2013-08-28
      • 2016-05-16
      • 2012-01-06
      • 2012-01-23
      相关资源
      最近更新 更多