Au-dessus du code, lorsque quelqu'un vous demande d'instancier un, Magento\Customer\Api\AddressRepositoryInterfaceil instanciera un objet Magento \ Customer \ Model \ ResourceModel \ AddressRepository (l'attribut type).
La configuration des préférences de classe ne concerne pas uniquement les interfaces, nous pouvons également modifier les classes réelles.
Vous pouvez créer la classe 'customModel' pour 'CustomerManagement' et effectuer les modifications. Système de préférence de classe en remplacement du système de réécriture de classe.
Dans le code ci-dessus, nous envoyons un objet comme argument, nous disons système pour insérer la classe "Proxy" en tant qu'objet avec le nom de groupManagement. En outre, nous pouvons également utiliser des arguments pour remplacer l'argument existant.
Dans le code ci-dessus, public function clean($object)dans la classe visiteur est appelé après la fonction publique afterClean(Visitor $subject, $logResourceModel)qui est dans la classe Log.
4 types virtuels
La création d'un type virtuel est un peu comme la création d'une sous-classe pour une classe existante.
Pour plus de détails, veuillez consulter les exemples pratiques que j'ai mentionnés sous la forme de liens d'Alan. En vous entraînant, vous pourrez acquérir une expérience plus claire.
avez-vous une idée de la configuration définie avec ifconfig dans di.xml pour activer / désactiver le processus du module? si vous à ce sujet, veuillez m'aider à résoudre le problème.
Kartik Asodariya
Information très utile.
Shivam
2
Comment apprend-on tout ça?
Mohammed Joraid
Donc, la <préférence> au lieu d'appeler la classe dans "pour", elle appelle la classe dans "type" ou quelque chose? je suis toujours confus à ce sujet. @@
Réponses:
What case We use di.xml ?
Prenons un exemple rapide du module client Magento 2.
1. préférence
Au-dessus du code, lorsque quelqu'un vous demande d'instancier un,
Magento\Customer\Api\AddressRepositoryInterface
il instanciera un objet Magento \ Customer \ Model \ ResourceModel \ AddressRepository (l'attribut type).La configuration des préférences de classe ne concerne pas uniquement les interfaces, nous pouvons également modifier les classes réelles.
Vous pouvez créer la classe 'customModel' pour 'CustomerManagement' et effectuer les modifications. Système de préférence de classe en remplacement du système de réécriture de classe.
http://alanstorm.com/magento_2_object_manager_preferences
2. Arguments
Dans le code ci-dessus, nous envoyons un objet comme argument, nous disons système pour insérer la classe "Proxy" en tant qu'objet avec le nom de
groupManagement
. En outre, nous pouvons également utiliser des arguments pour remplacer l'argument existant.http://alanstorm.com/magento_2_object_manager_argument_replacement
3. Plugin
Dans le code ci-dessus,
public function clean($object)
dans la classe visiteur est appelé après la fonction publiqueafterClean(Visitor $subject, $logResourceModel)
qui est dans la classe Log.4 types virtuels
La création d'un type virtuel est un peu comme la création d'une sous-classe pour une classe existante.
Pour plus de détails, veuillez consulter les exemples pratiques que j'ai mentionnés sous la forme de liens d'Alan. En vous entraînant, vous pourrez acquérir une expérience plus claire.
J'espère que cela t'aides.... :)
la source