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 ObservedType
necesidad de ser la sugerencia de tipo proporcionada en un __construct
mé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.