Autoloader des Komponisten in Magento integrieren
-
16-10-2019 - |
Frage
So Komponist ist großartig und es gibt viel Code in Composer's's Packagistin Repository, das das Schreiben von Magento -Erweiterungen erleichtert.
Das Problem, mit dem ich konfrontiert bin, ist, wie am besten (sauber) Autoloading (sauber) einrichten kann.
Standardmäßig werden Komponistenpakete in /Anbieter installiert, und innerhalb dieses Verzeichnisses befindet sich eine autoload.php -Datei, in der die Klassenbelastung für die von Composer verwalteten Pakete eingerichtet werden.
Was wäre also der beste Weg, um die Datei '/vendor/autoload.php' von Composer zu fordern? Dies müsste sowohl für die Webstore- als auch für die Shell -Skripte funktionieren. Gibt es ein Observer -Ereignis, mit dem ich tippen kann, um das Request_once zu machen?
Prost!
Lösung
Der Magento Autoloader ist in registriert in Mage.php
.
Wenn Sie dies in einem eigenen Modul tun möchten, sollten Sie das erste mögliche Ereignis ergreifen und den Autoloader dort verlangen
Entsprechend Alans Analyse das wäre resource_get_tablename
- Aber Sie müssen sicherstellen, dass Ihr einziges Handle dieses Ereignisses einmal einmal.
Die schnelle und schrägliche Lösung wäre zu patchen Mage.php
(Der Beginn der Datei) - aber das hackt den Kern.
Auch wir haben das Magento-PSR-0-Autoloader Modul, das eine Möglichkeit bietet, Komponisten -Autolading über config hinzuzufügen. Es ist eine grundlegende Implementierung, die das nutzt resource_get_tablename
Veranstaltung.