CodeIgniter:对HMVC和Views有些怀疑

时间:2011-12-29 11:40:52

标签: php codeigniter hmvc

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

假设我有两个控制器:

  • 网站,它是主控制器,用于显示网站的网页,可以调用用户控制器的方法,例如显示表单
  • 用户控制器用于验证用户身份,以显示登录/注册表单...

现在我有这些问题:

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

1 个答案:

答案 0 :(得分: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)
}

SITE视图中轻松调用

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)