Wenn Sie über dem Code gefragt werden, Magento\Customer\Api\AddressRepositoryInterfaceob ein Objekt instanziiert werden soll , wird ein Magento \ Customer \ Model \ ResourceModel \ AddressRepository-Objekt (das type-Attribut) instanziiert.
Die Konfiguration der Klassenpräferenzen ist nicht nur für Schnittstellen gedacht, sondern wir können auch die tatsächlichen Klassen ändern.
Sie können die Klasse 'customModel' für 'CustomerManagement' erstellen und die Änderungen vornehmen. Class Preference System als Ersatz für das Class Rewrite System.
Im obigen Code, Wir senden Objekt als Argument, wir sagen System, um "Proxy" -Klasse als Objekt mit dem Namen von einzufügen groupManagement. Wir können auch Argumente verwenden, um das vorhandene Argument zu ersetzen.
Im obigen Code wird public function clean($object)in der Besucherklasse nach der öffentlichen Funktion aufgerufen, afterClean(Visitor $subject, $logResourceModel)die in der Klasse Log enthalten ist.
4 virtuelle Typen
Das Erstellen eines virtuellen Typs ähnelt dem Erstellen einer Unterklasse für eine vorhandene Klasse.
Für weitere Informationen gehen Sie bitte die praktischen Beispiele durch, die ich als Links von Alan erwähnt habe. Durch Übung können Sie klarere Erfahrungen sammeln.
hast du eine idee über die einstellung der konfiguration mit ifconfig in di.xml zum aktivieren / deaktivieren des modulprozesses? Wenn Sie diesbezüglich Fragen haben, helfen Sie mir bitte, das Problem zu beheben.
Kartik Asodariya
Sehr nützliche Informationen.
Shivam
2
Wie lernt jemand all diese Dinge?
Mohammed Joraid
Also ruft die <Einstellung> die Klasse nicht in "für" auf, sondern in "Typ" oder so? Ich bin immer noch verwirrend. @@
Antworten:
What case We use di.xml ?
Nehmen wir ein kurzes Beispiel aus dem Magento 2-Kundenmodul.
1. Bezug
Wenn Sie über dem Code gefragt werden,
Magento\Customer\Api\AddressRepositoryInterface
ob ein Objekt instanziiert werden soll , wird ein Magento \ Customer \ Model \ ResourceModel \ AddressRepository-Objekt (das type-Attribut) instanziiert.Die Konfiguration der Klassenpräferenzen ist nicht nur für Schnittstellen gedacht, sondern wir können auch die tatsächlichen Klassen ändern.
Sie können die Klasse 'customModel' für 'CustomerManagement' erstellen und die Änderungen vornehmen. Class Preference System als Ersatz für das Class Rewrite System.
http://alanstorm.com/magento_2_object_manager_preferences
2. Argumente
Im obigen Code, Wir senden Objekt als Argument, wir sagen System, um "Proxy" -Klasse als Objekt mit dem Namen von einzufügen
groupManagement
. Wir können auch Argumente verwenden, um das vorhandene Argument zu ersetzen.http://alanstorm.com/magento_2_object_manager_argument_replacement
3. Plugin
Im obigen Code wird
public function clean($object)
in der Besucherklasse nach der öffentlichen Funktion aufgerufen,afterClean(Visitor $subject, $logResourceModel)
die in der Klasse Log enthalten ist.4 virtuelle Typen
Das Erstellen eines virtuellen Typs ähnelt dem Erstellen einer Unterklasse für eine vorhandene Klasse.
Für weitere Informationen gehen Sie bitte die praktischen Beispiele durch, die ich als Links von Alan erwähnt habe. Durch Übung können Sie klarere Erfahrungen sammeln.
Hoffe das hilft.... :)
quelle