Flux de demande de Magento 2

21

Il y a beaucoup d'agitation Magento 2, des concepts comme les espaces de noms, etc. y ont été intégrés. Je suis simplement curieux de savoir comment le flux de DEMANDE a été traité Magento 2, quelqu'un peut-il me donner un bref.

Point intéressant de la présentation d'Anthol Krit

Magneto2 a 8000 classes par rapport à 2700 dans Magento 1

Dimag Kharab
la source
4
L'architecte de Magento 2 Anton Kril l'explique ici: de.slideshare.net/Dutchento/anton-kril-mm15nl
Fabian Schmengler

Réponses:

21

index.phpcrée une instance d'application ( \Magento\Framework\App\Http) à l'aide de objectManager (qui est créé auparavant dans Bootstrap) et appelle la méthode launch.

L'instance de l'application HTTP fait le routage initial: il faut la première partie de l'URL pour déterminer quelle zone doit être chargée (admin / frontend / rest / ...).

Lorsque la zone est définie, la configuration de cette zone est chargée (contrairement à Magento 1 où toute la configuration a été chargée).

Ensuite, les objets de l'application appellent la Magento\Framework\App\FrontControllerInterface::dispatchzone demandée. Le contrôleur frontal effectue le routage comme dans Magento 1: tous les routeurs sont itérés pour correspondre à la demande. Le routeur qui correspond à la demande renvoie l'instance d'ActionController correspondante FrontController. Ce processus est plus efficace car seuls les routeurs d'une zone sont utilisés (le routeur administrateur n'est pas utilisé en frontend). Tout le comportement supplémentaire a été déplacé du contrôleur frontal vers pluginsdes FrontControllercontrôleurs d'action et.

Quand FrontControllerobtient une instance de contrôleur d'action, il l'appelle dispatch. Le contrôleur d'action exécute sa tâche et retourne une instance d'une certaine implémentation de ResultInterface(comme la page, la redirection, ...).

FrontControllerrevient simplement ResultInterfaceà l'instance d'application qui rend la réponse.

J'ai fait une présentation à ce sujet à Meet Magento NL: http://www.slideshare.net/Dutchento/anton-kril-mm15nl

Anton Kril
la source
Thnaks @anthon pour votre réponse.
Dimag Kharab
2
Je vais