Así que el compositor es increíble, y hay mucho código en el repositorio de empaquetadores del compositor que facilita la escritura de extensiones de Magento.
El problema al que me enfrento es cómo configurar (limpiamente) la carga automática.
Por defecto, los paquetes de compositor se instalan en / vendor, y dentro de ese directorio hay un archivo autoload.php que configura la carga de clases para los paquetes administrados por compositor.
Entonces, ¿cuál sería la mejor manera de requerir el archivo '/vendor/autoload.php' del compositor? Esto debería funcionar tanto para la tienda web como para los scripts de shell. ¿Hay algún evento de observación que pueda tocar para hacer el require_once?
¡Salud!
require_once $mageFilename
se llama). Esto funciona bien para instalaciones de clientes y no requiere reescribir archivos en absoluto.Respuestas:
El autocargador Magento está registrado en
Mage.php
.Si desea hacer esto en un módulo propio, debe tomar el primer evento posible y requerir el cargador automático allí
Según el análisis de Alan, esto sería
resource_get_tablename
, pero debes asegurarte de que solo manejas este evento una vez.La solución rápida y sucia sería parchear
Mage.php
(el comienzo del archivo), pero esto está pirateando el núcleo.También tenemos el módulo Magento-PSR-0-Autoloader , que ofrece una forma de agregar compositores de carga automática a través de la configuración. Es una implementación básica que hace uso del
resource_get_tablename
evento.fuente