yii2 学习与疑惑.md 1.2 KB

应用主体

应用主体是管理 Yii 应用系统整体结构和生命周期的对象。 每个 Yii 应用系统只能包含一个应用主体,应用主体在 入口脚本 中创建并能通过表达式 \Yii::$app 全局范围内访问。

Yii有两种应用主体: 网页应用主体 和 控制台应用主体, 如名称所示,前者主要处理网页请求,后者处理控制台请求。

模块

访问模块实例:

// 获取ID为 "forum" 的模块
$module = \Yii::$app->getModule('forum');

// 获取处理当前请求控制器所属的模块
$module = \Yii::$app->controller->module;

第一种方式仅在你知道模块 ID 的情况下有效, 第二种方式在你知道处理请求的控制器下使用。 一旦获取到模块实例,可访问注册到模块的参数和组件,例如:

$maxPostCount = $module->params['maxPostCount'];

引导启动模块

有些模块在每个请求下都有运行,yii\debug\Module 模块就是这种, 为此将这种模块加入到应用主体的 bootstrap 属性中。

例如,如下示例的应用主体配置会确保 debug 模块每次都被加载:

[
    'bootstrap' => [
        'debug',
    ],

    'modules' => [
        'debug' => 'yii\debug\Module',
    ],
]