Data: 30 maggio 2015 (vista la natura mutevole di Magento 2).
Magento 2 ha introdotto un concetto di plug-in , implementato tramite un modello di intercettore .
Ciò che non è chiaro dai documenti è: quali classi e oggetti in Magento sono "intercettabili"? Cioè, si configura un plug-in con XML simile al seguente
<config>
<type name="{ObservedType}">
<plugin name="{pluginName}" type="{PluginClassName}" sortOrder="1" disabled="true"/>
</type>
</config>
ma non è chiaro quali classi sono valide come ObservedType
. Questo vecchio articolo wiki fornisce alcuni indizi quando dice
Si noti che la funzionalità del plug-in non si applica a: - Classi create senza iniezione di dipendenza, ovvero create con l'operatore direttamente nuovo, - Metodi finali, - Classi finali
È possibile intercettare un oggetto creato tramite iniezione di dipendenza? La ObservedType
necessità di essere il suggerimento del tipo fornito nel __construct
metodo a o può (dovrebbe?) Essere qualcos'altro?
Cercando principalmente di capire cosa può e non può essere fatto con un intercettore Magento 2 prima di iniziare a usarli.