yii2笔记: 模块(module)

官方文档

http://www.yiiframework.com/doc-2.0/guide-structure-modules.html

自己的一些理解:

application和console本质上也都是module

我们建立的module实质上都是application的子模块

module里加载特定配置

Module.php

<?php

namespace appmodules	estmod;

/**
 * testmod module definition class
 */
class Module extends yiiaseModule
{
    /**
     * @inheritdoc
     */
    public $controllerNamespace = 'appmodules	estmodcontrollers';

    /**
     * @inheritdoc
     */
    public function init()
    {
        parent::init();
        Yii::configure($this, require(__DIR__ . '/config.php'));

        // custom initialization code goes here
    }
}

  

config.php,这里和config/web.php的原理是一样的。

<?php
return [
    'components' => [
        'db' => require(__DIR__ . '/db.php'),
    ],
    'params' => [
        'adminEmail' => 'testmod@example.com',
    ],
];

  

控制器里使用模块的配置

        print Yii::$app->params['adminEmail']; // application的参数
        print $this->module->params['adminEmail']; // 当前模块的参数
        print $this->module->db->createCommand("SELECT COUNT(1) FROM testmod")->queryScalar(); // 当前模块的组件

  

视图里使用模块的配置

<?= $this->context->module->params['adminEmail'] ?>

  

原文地址:https://www.cnblogs.com/zergling9999/p/6081833.html