Fecha: 30 de mayo de 2015 (dada la naturaleza cambiante de Magento 2).
Magento 2 introdujo un concepto de complemento , implementado a través de un patrón interceptor .
Lo que no está claro en los documentos es: ¿qué clases y objetos en Magento son "interceptables"? Es decir, configura un complemento con XML similar al siguiente
<config>
<type name="{ObservedType}">
<plugin name="{pluginName}" type="{PluginClassName}" sortOrder="1" disabled="true"/>
</type>
</config>
pero no está claro qué clases son válidas como an ObservedType. Este artículo wiki más antiguo proporciona algunas pistas cuando dice
Tenga en cuenta que la función del complemento no se aplica a: - Clases creadas sin inyección de dependencia, es decir, creadas con operador nuevo directamente, - Métodos finales, - Clases finales
¿Hay algún objeto creado mediante inyección de dependencia disponible para ser interceptado? ¿La ObservedTypenecesidad de ser la sugerencia de tipo proporcionada en un __constructmétodo, o puede (¿debería?) Ser otra cosa?
Principalmente tratando de entender qué se puede y qué no se puede hacer con un interceptor Magento 2 antes de comenzar a usarlos.