Ich zamieszanie jest bardzo duże Magento 2
, koncepcja taka jak Przestrzenie nazw itp. Została w nim włączona. Jestem tylko ciekawy, jak został obsłużony przepływ ŻĄDANIA Magento 2
, czy ktoś może mi powiedzieć.
Ciekawy punkt z prezentacji Anthola Krita
Magneto2 ma 8000 klas w porównaniu do 2700 w Magento 1
magento2
architecture
mvc
Dimag Kharab
źródło
źródło
Odpowiedzi:
index.php
tworzy instancję aplikacji (\Magento\Framework\App\Http
) za pomocą objectManager (który jest tworzony wcześniej niż w bootstrap) i wywołuje metodęlaunch
.Instancja aplikacji HTTP wykonuje wstępne routing: pierwsza część adresu URL wymaga ustalenia, który obszar powinien zostać załadowany (admin / frontend / rest / ...).
Kiedy obszar jest zdefiniowany, konfiguracja dla tego obszaru jest ładowana (w przeciwieństwie do Magento 1, gdzie załadowano całą konfigurację).
Następnie wywołania obiektów aplikacji
Magento\Framework\App\FrontControllerInterface::dispatch
z żądanego obszaru. Front Controller wykonuje routing tak samo jak w Magento 1: wszystkie routery są iterowane w celu dopasowania żądania. Router, który pasuje do żądania, zwraca dopasowaną instancję ActionControllerFrontController
. Ten proces jest bardziej wydajny, ponieważ używane są tylko routery z jednego obszaru (router administratora nie jest używany w interfejsie użytkownika). Całe dodatkowe zachowanie zostało przeniesione z kontrolera frontowego do kontrolerówplugins
akcjiFrontController
i kontrolerów akcji.Kiedy
FrontController
dostaje instancję kontrolera akcji, wywołujedispatch
ją. Kontroler akcji wykonuje swoje zadanie i zwraca instancję niektórych implementacjiResultInterface
(takich jak page, redirect, ...).FrontController
po prostu wracaResultInterface
do wystąpienia aplikacji, która wyświetla odpowiedź.Zrobiłem prezentację na ten temat na Meet Magento NL: http://www.slideshare.net/Dutchento/anton-kril-mm15nl
źródło
Sprawdź poniższe linki. Przepływ żądań jest bardzo ładnie zdefiniowany.
http://www.dckap.com/blog/request-flow-in-magento-2/
http://brideo.co.uk/magento2/Request-Flow-In-Magento-2/
źródło
Oto kilka zasobów na ten temat dla wszystkich zainteresowanych:
źródło