如何在Yii2中启用和禁用模块?

时间:2017-11-08 09:53:57

标签: module yii2 yii-modules

在google中没有关于启用和禁用模块的更多信息,所以我在这里遇到麻烦。

我在yii2中构建了一些模块,如userspaymentssubscriptionsnews等。我想禁用subscriptions个模块。有可能吗?

编辑:启用和禁用功能应允许最终用户使用。

1 个答案:

答案 0 :(得分:2)

我会将以下代码放在支持被禁用/启用的模块类中。

因此,对于每个模块(userssubscriptionsnews等),您都有扩展\yii\base\Module的模块类。将代码放在每个模块类中,并检查相应的设置。

public function init() {
    if (!$this->_isModuleEnabled()) {
        // This can also be another exception of course.
        throw new \Exception("This module isn't enabled.");
    }
    parent::init();
}

private function _isModuleEnabled() {
    /**
     * Probably check some setting in the database or someting. Then
     * return true or false depending on that setting.
     */
    return true;
}