index.phptạo cá thể ứng dụng ( \Magento\Framework\App\Http) bằng cách sử dụng objectManager (được tạo trước đó trong bootstrap) và phương thức gọi launch.
Ví dụ ứng dụng http thực hiện định tuyến ban đầu: phải mất phần đầu tiên của url để tìm ra khu vực nào sẽ được tải (admin / frontend / rest / ...).
Khi khu vực được xác định, cấu hình cho khu vực đó được tải (không giống như Magento 1 nơi tất cả cấu hình đã được tải).
Sau đó, các đối tượng ứng dụng gọi Magento\Framework\App\FrontControllerInterface::dispatchcủa khu vực được yêu cầu. Bộ điều khiển phía trước thực hiện định tuyến giống như trong Magento 1: tất cả các bộ định tuyến được lặp để phù hợp với yêu cầu. Bộ định tuyến phù hợp với thể hiện trả về yêu cầu của ActionControll khớp với FrontController. Quá trình này hiệu quả hơn vì chỉ các bộ định tuyến của một khu vực được sử dụng (bộ định tuyến quản trị không được sử dụng ở lối vào). Tất cả các hành vi phụ đã được chuyển từ bộ điều khiển phía trước để pluginscủa FrontControllervà điều khiển hành động.
Khi FrontControllercó phiên bản của bộ điều khiển hành động, nó gọi dispatchnó. Bộ điều khiển hành động thực hiện nhiệm vụ của nó và trả về thể hiện của một số triển khai ResultInterface(như trang, chuyển hướng, ...).
FrontControllerchỉ cần trả về ResultInterfaceTrường hợp ứng dụng biểu hiện phản hồi.
Tôi đã trình bày về vấn đề này tại Meet Magento NL: http://www.sl slideshoware.net/Dutchento/anton-kril-mm15nl