W powyższym kodzie wysyłamy obiekt jako argument, mówimy, że system wstawi klasę „Proxy” jako obiekt o nazwie groupManagement. Możemy również użyć argumentów do zastąpienia istniejącego argumentu.
W powyższym kodzie public function clean($object)w klasie gościa wywoływana jest funkcja publiczna, afterClean(Visitor $subject, $logResourceModel)która znajduje się w klasie Log.
4 typy wirtualne
Tworzenie typu wirtualnego przypomina tworzenie podklasy dla istniejącej klasy.
Aby uzyskać więcej informacji, proszę przejrzeć praktyczne przykłady, o których wspomniałem jako linki od Alana, dzięki praktyce możesz uzyskać bardziej przejrzyste doświadczenie.
Odpowiedzi:
What case We use di.xml ?
Weźmy szybki przykład z modułu klienta Magento 2.
1. preferencja
Powyższy kod, gdy ktoś poprosi cię o utworzenie instancji
Magento\Customer\Api\AddressRepositoryInterface
, utworzy instancję Magento \ Customer \ Model \ ResourceModel \ AddressRepository (atrybut type).Konfiguracja preferencji klas dotyczy nie tylko interfejsów, ale możemy również zmienić rzeczywiste klasy.
Możesz utworzyć klasę „customModel” dla „CustomerManagement” i wprowadzić zmiany. System preferencji klas jako zamiennik systemu przepisywania klas.
http://alanstorm.com/magento_2_object_manager_preferences
2. Argumenty
W powyższym kodzie wysyłamy obiekt jako argument, mówimy, że system wstawi klasę „Proxy” jako obiekt o nazwie
groupManagement
. Możemy również użyć argumentów do zastąpienia istniejącego argumentu.http://alanstorm.com/magento_2_object_manager_argument_replacement
3. Wtyczka
W powyższym kodzie
public function clean($object)
w klasie gościa wywoływana jest funkcja publiczna,afterClean(Visitor $subject, $logResourceModel)
która znajduje się w klasie Log.4 typy wirtualne
Tworzenie typu wirtualnego przypomina tworzenie podklasy dla istniejącej klasy.
Aby uzyskać więcej informacji, proszę przejrzeć praktyczne przykłady, o których wspomniałem jako linki od Alana, dzięki praktyce możesz uzyskać bardziej przejrzyste doświadczenie.
Mam nadzieję że to pomoże.... :)
źródło