YII模块化处理

config.php

$config = [ 
    'modules' => [
        'comment' => [
            'class' => 'frontendmodulescommentComment',
        ],
        'article' => [
            'class' => 'frontendmodulesarticleArticle',
            'modules' => [
                'category' => [
                    'class' => 'frontendmodulesarticlemodulescategoryCategory',
                ],
                'title' => [
                        'class' => 'frontendmodulesarticlemodules	itleTitle',
                ],
            ],
        ],
    ],

];
if (!YII_ENV_TEST) {
    // configuration adjustments for 'dev' environment
    $config['bootstrap'][] = 'debug';
    $config['modules']['debug'] = [
        'class' => 'yiidebugModule',
    ];
    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = [
        'class' => 'yiigiiModule',
    ];
}

return $config;

添加子模块后,在父模块添加管理入口配置,实现父模块管理子模块功能,如果父模块出现bug,子模块将无法继续使用

<?php

namespace frontendmodulesarticle;

/**
 * article module definition class
 */
class Article extends yiiaseModule
{
    /**
     * @inheritdoc
     */
    public $controllerNamespace = 'frontendmodulesarticlecontrollers';

    /**
     * @inheritdoc
     */
    public function init()
    {
        parent::init();

        //添加子模块后
        $this->modules = [
            'category' => [
                'class' => 'frontendmodulesarticlemodulescategoryCategory',
            ],
        ];
        // custom initialization code goes here
    }
}
原文地址:https://www.cnblogs.com/isuben/p/5529992.html