Дата: 30 мая 2015 года (учитывая изменяющуюся природу Magento 2).
Magento 2 представил концепцию плагина , реализованную с помощью шаблона перехватчика .
Что не ясно из документации - какие классы и объекты в Magento «перехватываются»? То есть вы настраиваете плагин с XML, который выглядит следующим образом
<config>
<type name="{ObservedType}">
<plugin name="{pluginName}" type="{PluginClassName}" sortOrder="1" disabled="true"/>
</type>
</config>
но не ясно, какие классы действительны как ObservedType
. Эта старая статья в вики дает некоторые подсказки, когда говорит
Обратите внимание, что функция плагина не распространяется на - классы, созданные без внедрения зависимостей, то есть созданные непосредственно с оператором new, -Final методы, -Final классы
Является ли какой - либо объект , созданный с помощью инъекции зависимостей , доступной для перехвата? Нужно ли ObservedType
указывать подсказку типа в __construct
методе a или это может быть что-то еще?
Главным образом пытаясь понять, что можно и что нельзя делать с перехватчиком Magento 2, прежде чем я начну их использовать.