Php CodeIgniter:对HMVC和视图的一些质疑

Php CodeIgniter:对HMVC和视图的一些质疑,php,codeigniter,hmvc,Php,Codeigniter,Hmvc,我刚刚发现了CodeIgniter的HMVC模块扩展,它似乎非常适合我的需要,但我有一些问题 假设我有两个控制器: 站点它是主控制器,用于显示站点的页面,可以调用用户控制器的方法,例如显示表单 用户控制器用于验证用户身份,显示登录/注册表单 现在我有这些问题: 如果用户直接访问用户控制器(mysite.com/user/method),我想显示整个页面,而如果我从站点控制器中加载用户的方法,我只想显示一个表单(例如),这可能吗 从另一个模块加载的模块视图会发生什么情况:视图是自动显示还是需要

我刚刚发现了CodeIgniter的HMVC模块扩展,它似乎非常适合我的需要,但我有一些问题

假设我有两个控制器:

  • 站点它是主控制器,用于显示站点的页面,可以调用用户控制器的方法,例如显示表单
  • 用户控制器用于验证用户身份,显示登录/注册表单
现在我有这些问题:

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

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

    第三个可选参数用于更改 函数,使其以字符串形式返回数据,而不是发送数据 将其添加到浏览器中

    例如:

    站点视图中轻松调用它

    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)
    

    没有模块::run正在调用类/方法,而不是相反。通过将第三个参数添加到视图加载器中,它将以字符串的形式检索视图。因此,不会向浏览器呈现任何输出,现在可以像包含一样使用它
    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)