0

我刚刚发现了 CodeIgniter 的 HMVC 模块化扩展https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home,它似乎非常适合我的需求,但我有一些问题。

假设我有两个控制器:

  • 作为主控制器的站点,用于显示站点的页面,并且可以调用用户控制器的方法,例如显示表单
  • 用户控制器用于验证用户,显示登录/注册表格...

现在我有这些问题:

  1. 如果用户直接访问用户控制器(mysite.com/user/method),我想显示一个完整的页面,而如果我从站点控制器中加载用户的方法,我只想显示一个表单(例如),是这可能吗?
  2. 查看从另一个模块加载的模块会发生什么情况:视图是自动显示还是我需要手动显示以及视图的行为如何?
4

1 回答 1

2

如果您的方法是通过 Modules::run() 调用的

还有第三个可选参数可让您更改函数的行为,以便它以字符串形式返回数据,而不是将其发送到浏览器。

例如:

//put underscore in front to prevent uri access to this method.
public function _module1()
{
     $this->load->view('partial_view', array('some data'=>'some data'), TRUE)
}

在您的站点视图中轻松调用它

Modules::run('User/_module1')
// should show whatever is in partial_view ie: a form

//an alternative is to pass in any params if the method requires them
Modules::run('User/_module1', $param)
于 2011-12-29T14:03:43.907 回答