Data: 30 maja 2015 r. (Biorąc pod uwagę zmieniający się charakter Magento 2).
Magento 2 wprowadziło koncepcję wtyczki , zaimplementowaną za pomocą wzorca przechwytującego .
Co nie jest jasne z dokumentów - które klasy i obiekty w Magento są „przechwytywalne”? Oznacza to, że konfigurujesz wtyczkę z XML, która wygląda następująco
<config>
<type name="{ObservedType}">
<plugin name="{pluginName}" type="{PluginClassName}" sortOrder="1" disabled="true"/>
</type>
</config>
ale nie jest jasne, które klasy są ważne jako ObservedType
. Ten starszy artykuł wiki zawiera pewne wskazówki, kiedy to mówi
Należy pamiętać, że funkcja wtyczki nie ma zastosowania do - klas utworzonych bez wstrzykiwania zależności, to znaczy, utworzonych przy użyciu nowego operatora bezpośrednio, - metod końcowych, - klas końcowych
Czy można przechwycić dowolny obiekt utworzony za pomocą wstrzykiwania zależności? Czy ObservedType
potrzebna jest wskazówka typu podana w __construct
metodzie, czy może (czy powinna?) Być czymś innym?
Głównie próbuję obejść to, co można, a czego nie można zrobić za pomocą przechwytywacza Magento 2, zanim zacznę ich używać.