YII模塊化處理

config.phpphp

$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,子模塊將沒法繼續使用bootstrap

<?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
    }
}
相關文章
相關標籤/搜索