【发布时间】:2011-12-27 05:45:07
【问题描述】:
我对 CI 有点熟悉,现在我正在尝试使用它构建一个 Web 门户。我正在尝试使其足够灵活以接受小部件/模块。就像组件对 joomla 的作用一样。
为此,(我认为)我应该创建模块,但可悲的部分 CI 默认情况下不接受任何模块。但是通过 HMVC 或 Modular CI,即使这也是可能的,但由于我以前没有使用过它们,所以从长远来看,我不知道哪种适合我的情况。
基本上,我想通过一个通用控制器与其他模块及其控制器进行通信。有点像前端控制器。
例如,将我的默认控制器作为站点,我正在寻找的功能有点像这样......
class Site extends CI_Controller {
public function index() {
$appName = $this -> uri -> segment(1); // Take this as app name
$appControllerName = $this -> uri -> segment(2); // Take this as app controller name
$this -> load -> module($appName); //Loading our app Module
$this -> $appName -> load -> controller($appControllerName);
$this -> $appName -> $appControllerName -> render();
// Take Render() as one of the common method that all the modules controller should have and is reponsible for rendering the HTML
}
}
上面的代码正是我想要得到的。可能有更好的方法来做这些。无论哪种方式,我都期待您的回复.....
【问题讨论】:
标签: codeigniter module codeigniter-2 hmvc