Acima do código, quando alguém solicitar uma instância, Magento\Customer\Api\AddressRepositoryInterfaceele instancia um objeto Magento \ Customer \ Model \ ResourceModel \ AddressRepository (o atributo type).
A configuração de preferências de classe não é apenas para interfaces, também podemos alterar as classes reais.
Você pode criar a classe 'customModel' para 'CustomerManagement' e fazer as alterações. Sistema de preferência de classe como um substituto para o sistema de reescrita de classe.
No código acima, estamos enviando um objeto como argumento, estamos dizendo ao sistema para inserir a classe "Proxy" como um objeto com o nome de groupManagement. Além disso, também podemos usar Argumentos para substituir o argumento existente.
No código acima, public function clean($object)na classe visitante é chamado após a função pública afterClean(Visitor $subject, $logResourceModel)que está na classe Log.
4 Tipos Virtuais
Criar um tipo virtual é como criar uma subclasse para uma classe existente.
Para mais informações, consulte os exemplos práticos que eu mencionei como links de Alan. Na prática, você pode obter uma experiência mais clara.
você tem alguma idéia sobre a configuração definida com ifconfig no di.xml para ativar / desativar o processo do módulo? se você sobre isso, por favor me ajude a resolver o problema.
Kartik Asodariya
Informação muito útil.
26418 Shivam
2
Como alguém aprende todas essas coisas?
Mohammed Joraid
Então, a <preferência> em vez de chamar a classe em "for", chama a classe em "type" ou algo assim? Eu ainda estou confuso sobre isso. @@
Respostas:
What case We use di.xml ?
Vamos dar um exemplo rápido do módulo do cliente Magento 2.
1. preferência
Acima do código, quando alguém solicitar uma instância,
Magento\Customer\Api\AddressRepositoryInterface
ele instancia um objeto Magento \ Customer \ Model \ ResourceModel \ AddressRepository (o atributo type).A configuração de preferências de classe não é apenas para interfaces, também podemos alterar as classes reais.
Você pode criar a classe 'customModel' para 'CustomerManagement' e fazer as alterações. Sistema de preferência de classe como um substituto para o sistema de reescrita de classe.
http://alanstorm.com/magento_2_object_manager_preferences
2. Argumentos
No código acima, estamos enviando um objeto como argumento, estamos dizendo ao sistema para inserir a classe "Proxy" como um objeto com o nome de
groupManagement
. Além disso, também podemos usar Argumentos para substituir o argumento existente.http://alanstorm.com/magento_2_object_manager_argument_replacement
3. Plugin
No código acima,
public function clean($object)
na classe visitante é chamado após a função públicaafterClean(Visitor $subject, $logResourceModel)
que está na classe Log.4 Tipos Virtuais
Criar um tipo virtual é como criar uma subclasse para uma classe existente.
Para mais informações, consulte os exemplos práticos que eu mencionei como links de Alan. Na prática, você pode obter uma experiência mais clara.
Espero que isto ajude.... :)
fonte