Portanto, o compositor é incrível, e há muito código no repositório de pacotes do compositor que facilita a escrita de extensões Magento.
O problema que estou enfrentando é a melhor forma de configurar (corretamente) o carregamento automático.
Por padrão, os pacotes do compositor são instalados em / vendor e, dentro desse diretório, existe um arquivo autoload.php que configura o carregamento de classe para os pacotes gerenciados do compositor.
Então, qual seria a melhor maneira de exigir o arquivo '/vendor/autoload.php' do compositor? Isso precisaria funcionar para os scripts da loja virtual e do shell. Existe um evento de observador no qual eu possa tocar para fazer o require_once?
Felicidades!
require_once $mageFilename
é chamado). Isso funciona bem para instalações do cliente e não requer a reescrita de arquivos.Respostas:
O carregador automático Magento está registrado
Mage.php
.Se quiser fazer isso em um módulo próprio, você deve pegar o primeiro evento possível e solicitar o carregador automático lá
De acordo com a análise de Alan, isso seria
resource_get_tablename
- mas você deve garantir que você lide com esse evento apenas uma vez.A solução rápida e suja seria corrigir
Mage.php
(o início do arquivo) - mas isso está invadindo o núcleo.Também temos o módulo Magento-PSR-0-Autoloader , que oferece uma maneira de adicionar compositores de carregamento automático via config. É uma implementação básica que faz uso do
resource_get_tablename
evento.fonte