bootstrapping 概述
运行magento 2, 以下代码在index.php中执行:
- 引入
<magento 2 安装目录>/app/bootstrap.php
执行必要的初始化例程,如错误处理,初始化自动加载,设置配置选项,设置默认时区,等等。 - 创建一个实例 \Magento\Framework\App\Bootstrap.
- 创建一个Magento 2 的应用实例 (\Magento\Framework\AppInterface).
- 运行Magento 2
Bootstrap 运行逻辑
bootstrap 安装下面的流程运行 magento2:
- 初始化错误处理程序。
- 创建对象管理器(/Magento/Framework/ObjectManager)和基本共享服务,这些服务在任何地方都使用,并且受环境的影响。环境参数被正确地注入到这些对象。
- 判断mode是否启用
- 判断Magento2是否安装
- 启动Magento2.任何未捕获的异常在应用程序启动后自动传回Magento 2 的
catchException()
方法,catchException方法用来处理异常. 最后返回true
或者false
:- 如果反回
true
: Magento处理异常成功。不需要做其他事情. - 如果反回
false
(或任何其他结果):bootstrap 执行默认异常处理子程序.
- 如果反回
- 发送应用程序对象提供的响应。
修改 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);
没有评论:
发表评论
注意:只有此博客的成员才能发布评论。