Richiedi flusso di Magento 2


21

C'è un sacco di confusione in corso Magento 2, concetto come Namespace ecc. È stato incorporato in esso. Sono solo curioso di sapere come è stato gestito il flusso di RICHIESTA Magento 2, qualcuno può darmi un brief.

Punto interessante della presentazione di Anthol Krit

Magneto2 ha 8000 classi rispetto a 2700 in Magento 1


4
L'architetto Magento 2 Anton Kril lo spiega qui: de.slideshare.net/Dutchento/anton-kril-mm15nl
Fabian Schmengler

Risposte:


21

index.phpcrea un'istanza dell'applicazione ( \Magento\Framework\App\Http) usando objectManager (creato prima in bootstrap) e chiama il metodo launch.

L'istanza dell'applicazione HTTP esegue il routing iniziale: serve la prima parte dell'URL per capire quale area deve essere caricata (admin / frontend / rest / ...).

Quando viene definita l'area, viene caricata la configurazione per quell'area (diversamente da Magento 1 in cui è stata caricata tutta la configurazione).

Quindi chiama l'oggetto dell'applicazione Magento\Framework\App\FrontControllerInterface::dispatchdell'area richiesta. Front Controller esegue il routing come in Magento 1: tutti i router sono ripetuti per soddisfare la richiesta. Il router che corrisponde alla richiesta restituisce l'istanza di ActionController corrispondente FrontController. Questo processo è più efficiente perché vengono utilizzati solo router di un'area (il router di amministrazione non viene utilizzato nel frontend). Tutto il comportamento extra è stato spostato dal front controller al pluginsof FrontControllere ai controller di azione.

Quando FrontControllerottiene l'istanza del controller di azione, la chiama dispatch. Il controller di azione svolge il proprio compito e restituisce l'istanza di alcune implementazioni di ResultInterface(come pagina, reindirizzamento, ...).

FrontControllerritorna ResultInterfaceall'istanza dell'applicazione che esegue il rendering della risposta.

Ho fatto una presentazione su questo a Meet Magento NL: http://www.slideshare.net/Dutchento/anton-kril-mm15nl


Grazie @anthon per la tua risposta.
Dimag Kharab,



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.