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 ObservedType
besoin doit être le conseil de type fourni dans la __construct
mé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.