Дата: 30 травня 2015 року (враховуючи мінливий характер Magento 2).
Magento 2 представив концепцію плагінів , реалізовану за допомогою схеми перехоплення .
Що в документах не зрозуміло, - які класи та об'єкти в Magento "перехоплюють"? Тобто ви налаштовуєте плагін з XML, який виглядає наступним чином
<config>
<type name="{ObservedType}">
<plugin name="{pluginName}" type="{PluginClassName}" sortOrder="1" disabled="true"/>
</type>
</config>
але незрозуміло, які класи дійсні як ObservedType
. Ця старіша стаття у Вікі містить деякі підказки, коли йдеться
Зверніть увагу, що функція плагіна не застосовується до - класів, створених без введення залежності, тобто створених безпосередньо з новим оператором, -фінальних методів, -фінальних класів
Чи можливий перехоплення будь-якого об'єкта, створеного за допомогою ін'єкції залежності? Чи ObservedType
потрібна підказка типу, що надається у __construct
методі, чи може це (чи має бути?) Чимось іншим?
В основному намагаюсь обернути голову навколо того, що можна, а що не можна зробити з перехоплювачем Magento 2, перш ніж я розпочну їх використовувати.