YII模块化处理

config.php

$config = [ 
    'modules' => [
        'comment' => [
            'class' => 'frontend\modules\comment\Comment',
        ],
        'article' => [
            'class' => 'frontend\modules\article\Article',
            'modules' => [
                'category' => [
                    'class' => 'frontend\modules\article\modules\category\Category',
                ],
                'title' => [
                        'class' => 'frontend\modules\article\modules\title\Title',
                ],
            ],
        ],
    ],

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

return $config;

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

<?php

namespace frontend\modules\article;

/**
 * article module definition class
 */
class Article extends \yii\base\Module
{
    /**
     * @inheritdoc
     */
    public $controllerNamespace = 'frontend\modules\article\controllers';

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

        //添加子模块后
        $this->modules = [
            'category' => [
                'class' => 'frontend\modules\article\modules\category\Category',
            ],
        ];
        // custom initialization code goes here
    }
}

 

posted @ 2016-05-26 10:07  雨落知音  阅读(253)  评论(0编辑  收藏  举报