Выше кода, когда кто-то просит вас создать экземпляр, Magento\Customer\Api\AddressRepositoryInterfaceон будет создавать экземпляр объекта Magento \ Customer \ Model \ ResourceModel \ AddressRepository (атрибут type).
Конфигурация предпочтений класса не только для интерфейсов, мы также можем изменить фактические классы.
В приведенном выше коде мы отправляем объект в качестве аргумента, мы говорим, что система вставляет класс «Proxy» как объект с именем groupManagement. Также мы можем использовать Аргументы для замены существующего аргумента.
В приведенном выше коде public function clean($object)в классе посетителя вызывается после публичной функции, afterClean(Visitor $subject, $logResourceModel)которая находится в классе журнала.
4 виртуальных типа
Создание виртуального типа похоже на создание подкласса для существующего класса.
Для получения дополнительной информации, пожалуйста, ознакомьтесь с практическими примерами, которые я упомянул в качестве ссылок от Алана, на практике вы можете получить более четкий опыт.
Есть ли у вас какие-либо идеи о конфигурации набора с ifconfig в di.xml для включения / выключения процесса модуля? если вы об этом, пожалуйста, помогите мне решить проблему.
Картик Асодария
Очень полезная информация
Шивам
2
Как кто-то изучает все эти вещи?
Мохаммед Джорайд
Таким образом, <preference> вместо вызова класса в «for», это вызов класса в «type» или что-то еще? Я все еще смущаюсь по этому поводу. @@
Ответы:
What case We use di.xml ?
Давайте рассмотрим пример из клиентского модуля Magento 2.
1.Preference
Выше кода, когда кто-то просит вас создать экземпляр,
Magento\Customer\Api\AddressRepositoryInterface
он будет создавать экземпляр объекта Magento \ Customer \ Model \ ResourceModel \ AddressRepository (атрибут type).Конфигурация предпочтений класса не только для интерфейсов, мы также можем изменить фактические классы.
Вы можете создать класс customModel для CustomerManagement и внести изменения. Система предпочтений класса как замена системы переписывания классов.
http://alanstorm.com/magento_2_object_manager_preferences
2. Аргументы
В приведенном выше коде мы отправляем объект в качестве аргумента, мы говорим, что система вставляет класс «Proxy» как объект с именем
groupManagement
. Также мы можем использовать Аргументы для замены существующего аргумента.http://alanstorm.com/magento_2_object_manager_argument_replacement
3. Плагин
В приведенном выше коде
public function clean($object)
в классе посетителя вызывается после публичной функции,afterClean(Visitor $subject, $logResourceModel)
которая находится в классе журнала.4 виртуальных типа
Создание виртуального типа похоже на создание подкласса для существующего класса.
Для получения дополнительной информации, пожалуйста, ознакомьтесь с практическими примерами, которые я упомянул в качестве ссылок от Алана, на практике вы можете получить более четкий опыт.
Надеюсь это поможет.... :)
источник