1

在谷歌没有更多关于启用和禁用模块的信息,所以我在这里很麻烦。

我已经在 yii2 中构建了一些模块,例如users, payments,subscriptionsnews。我想禁用subscriptions模块。可能吗?

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

4

1 回答 1

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;
}
于 2017-11-09T11:34:26.163 回答