Magento 2 中请求( Request ) 后执行的基本过程

  • 入口 :index.php
  • 引导
    • Bootstrap::run()  定义于 ./vendor/magento/framework/App/Bootstrap.php 用于 index.php
  • 应用
    • App:launch()  定义于 ./vendor/magento/framework/App/Http.php 用于 ./vendor/magento/framework/App/Bootstrap.php
  • 路由
    • FrontController::dispatch() 定义于 ./vendor/magento/framework/App/FrontController.php 用于  ./vendor/magento/framework/App/Http.php
    • Router::match() 定义于 ./vendor/magento/framework/App/Router/DefaultRouter.php 用于 ./vendor/magento/framework/App/FrontController.php  
  • 控制器处理
    • Controller::execute() 定义于 自定义控制器 用于 ./vendor/magento/framework/App/FrontController.php
  • 渲染
    • View::loadLayout() 定义于 ./vendor/magento/framework/App/View.php 用于 ./vendor/magento/framework/App/Action/Context.php
    • View::renderLayout() 同上
  • 刷新输出
    • Response::sendResponse() 定义于 ./vendor/magento/framework/App/Response/Http.php  用于 ./vendor/magento/framework/App/Http.php

 

Magento中有两个 index.php  文件:

  • /var/www/magento2/index.php - 开发
  • /var/www/magento2/pub/index.php - 生产

有关更多:

FrontController 前端控制器使用DI收集路径并选择控制器。

https://nathanmcbride.io/magento2/Request-Flow-In-Magento-2

https://inchoo.net/magento-2/routing-in-magento-2/

http://www.dckap.com/blog/request-flow-in-magento-2/

 

posted @ 2019-08-11 17:25  徐锅  阅读(353)  评论(0编辑  收藏