Jeśli chodzi o podstawowy kod Magento 2 , wygląda na to, że stary system przepisywania został usunięty i zastąpiony nowym systemem wstrzykiwania zależności.
Niestety nie ma dokumentacji dla tego nowego systemu.
Czy ktoś ma próbkę konfiguracji modułu, która pozwoliłaby użytkownikowi w Magento 2 „przepisać” klasę Mage_Catalog_Model_Product
nową klasą Packagename_Modulename_Model_Product
, używając nowego systemu wstrzykiwania zależności?
Odpowiedzi:
Konfiguracja Di została przeniesiona do plików di.xml, a format został zmodyfikowany. Teraz preferencje wyglądają tak (di.xml):
źródło
Pracując od wewnątrz, mogłem uzyskać przepisanie, pracując z następującymi
Jednak w implementacji wstrzykiwania zależności jest o wiele więcej kodu systemowego, więc nie jest jasne, czy powyższe będzie działać w końcowej wersji Magento 2.
źródło
Masz rację, przepisywanie klas zostało całkowicie wyeliminowane i zastąpione DI. Poniższe uwagi pochodzą z sekcji poświęconej zmianom struktury aplikacji :
Magento 1.x - Węzeł: / global // {ścieżka podrzędna odpowiadająca nazwie fabryki + literał „przepisać”}
Magento 2.x - Węzeł: / global / di / aliases
Nie próbowałem wykorzystywać tego w module działającym w Magento 2.0, ale wygląda na to, że w zasadzie definiujesz alias dla nazwy klasy, zamiast używać skomplikowanej hierarchii xml do przeróbek poszczególnych modułów.
źródło