Module 如何在Yii2中启用和禁用模块?
在谷歌没有更多关于模块启用和禁用的信息,所以我在这里很麻烦 我在yii2中构建了一些模块,如Module 如何在Yii2中启用和禁用模块?,module,yii2,yii-modules,Module,Yii2,Yii Modules,在谷歌没有更多关于模块启用和禁用的信息,所以我在这里很麻烦 我在yii2中构建了一些模块,如用户,支付,订阅,新闻等。我想禁用订阅模块。可能吗 编辑:启用和禁用功能应允许最终用户使用。我将在支持禁用/启用的模块类中放置以下代码 因此,对于每个模块(用户,订阅,新闻,等等),您都有扩展\yii\base\module的模块类。在每个模块类中放置这样的代码,并检查适当的设置 public function init() { if (!$this->_isModuleEnabled())
用户
,支付
,订阅
,新闻
等。我想禁用订阅
模块。可能吗
编辑:启用和禁用功能应允许最终用户使用。我将在支持禁用/启用的模块类中放置以下代码 因此,对于每个模块(
用户
,订阅
,新闻
,等等),您都有扩展\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;
}
只需将其从配置中删除..?您想实现什么?@jagsler我想从用户端禁用和启用。没有手动从编码中删除我认为这个解决方案已经足够好了@jagsler,我们可以从init()访问DB吗?这样我们就可以在不更改源代码的情况下使用UI/DB禁用模块。