Magento bringt mit dev:di:info bereits einen hilfreichen Befehl für Dependency Injection mit. Eine komplette Plugin Kette für eine bestimmte Methode lässt sich damit allerdings nicht anzeigen. Mit einem kleinen eigenen CLI Command kann man sich genau diese Information direkt aus Magentos Interception Konfiguration holen.

Der folgende Befehl ist also kein Magento Standardbefehl, sondern wird durch das nachfolgende Beispiel implementiert:

Der Command wird zunächst in der etc/di.xml des eigenen Moduls registriert:

Die eigentliche Command Klasse greift anschließend direkt auf Magentos PluginListInterface zu:

Nach Einbau des Commands lässt sich beispielsweise die Plugin Kette für ProductRepositoryInterface::save() ausgeben:

Auch der Magento Admin Bereich kann berücksichtigt werden:

Interessant wird die Ausgabe vor allem bei mehreren Extensions, die dieselbe Methode verändern. Besonders around Plugins können die Ausführung beeinflussen, da ein Plugin durch den Aufruf oder eben Nichtaufruf des nächsten Callables bestimmt, ob die weitere Plugin Kette und die eigentliche Methode noch erreicht werden.

Damit lässt sich ziemlich genau nachvollziehen, welche Plugins Magento für eine bestimmte Methode tatsächlich hintereinander ausführt.

Plugin Chain einer Methode per CLI anzeigen
Sie benötigen Unterstützung bei der Umsetzung dieser Lösung oder Sie haben die passende Lösung für Ihr Magento Problem noch nicht gefunden? Kontaktieren Sie mich und ich helfe Ihnen bei Ihrem Magento Projekt!
Schlagwörter: