Плагіни є всюдисущими, оскільки можна змінити / замінити поведінку будь-якого загальнодоступного методу в системі. Настроювання слід проводити за допомогою плагінів для публічних методів / класів, позначених @api
анотацією (стабільний публічний API), коли це можливо. Такий підхід гарантує, що налаштування залишиться функціональним після нових версій Magento. Окрім before
/ after
плагінів, зазначених у питанні, можна створити around
плагіни для заміни оригінальної поведінки.
З іншого боку, спостерігачі - це спадковий механізм розширення спадщини, успадкований від Magento 1, він досить обмежений і його слід уникати, якщо можливо. Однак, на відміну від плагінів, вони можуть надавати точки розширення всередині захищених / приватних методів.