Yii 入门系列 之 应用结构

我们的yii进入程序的步骤可以用一张图来概括

image

(以下例子都以基础模板为主)
1. 我们程序一开始通过/web下的index.php的入口脚本

<?php
//设置开发模式
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
//引入composer自动加载器
require __DIR__ . '/../vendor/autoload.php';
//引入yii类人间
require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php';
//加载我们设置的配置文件
$config = require __DIR__ . '/../config/web.php';
//把配置文件传递给应用主体
(new yii\web\Application($config))->run();

我们也可以在这个文件中设置我们的全局常亮。
2. 我们在入口文件之后进入应用主体

在进入应用主体之前我们根据传过来的配置文件初始化
初始化的过程包括

①根据执行==preInit()== 配置的几个高级属性,比如basePath,id等等

②注册 yii\base\Application::errorHandler 错误处理方法.

③根据配置文件,配置应用的主体属性

④ 执行==init()== 在此过程中会调用bootstrap()运行引导来启动我们需要的组件

3. 在应用主体初始化完成之后就开始执行应用程序

在执行应用主体之前我们还要触发==EVENT_BEFORE_REQUEST== 事件

触发这个的时候说明我们的应用已经准备就绪了
4. 入口脚本调用 yii\base\Application::run()

运行应用主体:

触发 EVENT_BEFORE_REQUEST 事件。
处理请求:解析请求 路由 和相关参数; 创建路由指定的模块、控制器和动作对应的类,并运行动作。
触发 EVENT_AFTER_REQUEST 事件。
发送响应到终端用户.

入口脚本接收应用主体传来的退出状态并完成请求的处理。

  1. 运行完应用主体之后进入我们的控制器
    应用主体的生命周期

猜你喜欢

转载自blog.csdn.net/qq_36172443/article/details/79959207