2011-12-01 5 views
1

Dans mon application, j'ai un auditeur qui lit des annotations à partir de fichiers modèles (tout comme les extensions de doctrine Gedmo) mais je ne comprends pas une chose. Dans le pilote d'annotation, il existe une méthode nommée validateFullMetadata() et je n'ai aucune idée de quand cette méthode est appelée. J'ai découvert que DriverChain (de Gedmo) implémente cette méthode mais qu'elle est vide. Est-ce que quelqu'un peut m'expliquer quand cette méthode est appelée et quel est le but général de l'utiliser? À mon avis, cette méthode est utilisée pour valider les valeurs de métadonnées, mais je peux me tromper. Aussi la documentation dit qu'il devrait être appelé formé de classes héritées s'il y en avait. Mais je n'ai aucune idée de ce que cela signifie.Symfony2 - Doctrine Listeners

Répondre

0

Ok, après des recherches plus approfondies, j'ai la réponse.

La méthode validateFullMetadata() doit être utilisée uniquement si l'entité étend certains champs de MappedSuperclass. Mais il y a un petit problème dans l'extension de cartographie gedmo. Lorsque le pilote pour les annotations du gestionnaire d'objets est DriverChain gedmo créer il possède la chaîne du pilote.

La méthode est appelée mais gedmo Gedmo/mappage/Driver/Chain.php (Chain class) ont cette méthode vide (fonction publique validateFullMetadata (data) {}), sans aucun code, donc il ne sera jamais appelé dans le pilote de l'écouteur . Le nouveau numéro est ajouté à github, plus d'informations peuvent être trouvées here.

Questions connexes