Symfony2 - 教条听众

时间:2011-12-01 13:05:46

标签: php doctrine symfony

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

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

1 个答案:

答案 0 :(得分:0)

好的,经过深入研究后我得到了答案。

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

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