Date: 30 mai 2015 (compte tenu de la nature changeante de Magento 2).
Magento 2 a introduit un concept de plugin , implémenté via un modèle d'intercepteur .
Ce qui n'est pas clair dans la documentation est - quelles classes et quels objets dans Magento sont "interceptables"? Autrement dit, vous configurez un plugin avec XML qui ressemble à ce qui suit
<config>
<type name="{ObservedType}">
<plugin name="{pluginName}" type="{PluginClassName}" sortOrder="1" disabled="true"/>
</type>
</config>
mais il n'est pas clair quelles classes sont valides en tant que ObservedType. Cet ancien article wiki fournit des indices quand il dit
Veuillez noter que la fonction de plugin ne s'applique pas aux - Classes créées sans injection de dépendance, c'est-à-dire créées directement avec l'opérateur new, - Méthodes finales, - Classes finales
Est tout objet créé par l' injection de dépendance disponibles à intercepter? Est-ce que le ObservedTypebesoin doit être le conseil de type fourni dans la __constructméthode a, ou peut-il (devrait-il?) Être autre chose?
Essayant principalement de comprendre ce qui peut et ne peut pas être fait avec un intercepteur Magento 2 avant de commencer à les utiliser.