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!

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top