magento2教程之初始化过程

7天成为Magento系统架构师,现在开始学习Magento全栈开发!

《Magento2.X企业级开发实战》

bootstrapping 概述

运行magento 2, 以下代码在index.PHP中执行:

  • 引入 <magento 2 安装目录>/app/bootstrap.php 执行必要的初始化例程,如错误处理,初始化自动加载,设置配置选项,设置默认时区,等等。
  • 创建一个实例 \Magento\Framework\App\Bootstrap.
  • 创建一个Magento 2 的应用实例 (\Magento\Framework\AppInterface).
  • 运行Magento 2

Bootstrap 运行逻辑

bootstrap 安装下面的流程运行 magento2:

  1. 初始化错误处理程序。
  2. 创建对象管理器(/Magento/Framework/ObjectManager)和基本共享服务,这些服务在任何地方都使用,并且受环境的影响。环境参数被正确地注入到这些对象。
  3. 判断mode是否启用
  4. 判断Magento2是否安装
  5. 启动Magento2.任何未捕获的异常在应用程序启动后自动传回Magento 2 的 catchException() 方法,catchException方法用来处理异常. 最后返回 true 或者 false:
    • 如果反回 true: Magento处理异常成功。不需要做其他事情.
    • 如果反回 false (或任何其他结果):bootstrap 执行默认异常处理子程序.
  6. 发送应用程序对象提供的响应。

修改 bootstrap 代码示例:

use Magento\Framework\App\Bootstrap;
require __DIR__ . '/app/bootstrap.php';
$params = $_SERVER;
$params[Bootstrap::PARAM_REQUIRE_MAINTENANCE] = true; // default false
$params[Bootstrap::PARAM_REQUIRE_IS_INSTALLED] = false; // default true
$bootstrap = Bootstrap::create(BP, $params);
/** @var \Magento\Framework\App\Http $app */
$app = $bootstrap->createApplication('Magento\Framework\App\Http');
$bootstrap->run($app);
如无特殊说明或标注,任何个人或组织,复制、转载、采集本站内容请注明:
本文来源于:【Magento中文网】,并添加本文地址链接。
如未按上述操作复制或转载,本站有权追究法律责任。
若本站内容侵犯了原著者的合法权益,可联系我们进行处理。