Analisando o código principal do Magento 2 , parece que o sistema de reescrita de classe antiga foi arrancado e substituído por um novo sistema de injeção de dependência.
Infelizmente, não há documentação para este novo sistema.
Alguém tem um exemplo de configuração de módulo que permita que um usuário, no Magento 2, "reescreva" a classe Mage_Catalog_Model_Product
com uma nova classe Packagename_Modulename_Model_Product
, usando o novo sistema de injeção de dependência?
Respostas:
A configuração Di foi movida para os arquivos di.xml e o formato foi modificado. Agora, as preferências têm esta aparência (di.xml):
fonte
Trabalhando de dentro para fora, consegui reescrever trabalhando com os seguintes
No entanto, há muito mais código de sistema na implementação da injeção de dependência, portanto, não está claro se o acima funcionará na versão final lançada do Magento 2.
fonte
Você está correto, as reescritas de classe foram totalmente eliminadas e substituídas por DI. As seguintes notas são da seção sobre alterações no Application Framework :
Magento 1.x - Nó: / global // {subcaminho que corresponde ao nome da fábrica + literal "reescrever"}
Magento 2.x - Nó: / global / di / aliases
Eu não tentei utilizar isso em um módulo em execução no Magento 2.0, mas parece que você basicamente define um alias para o nome da classe em vez de usar a hierarquia complicada do xml para reescritas por módulo.
fonte