我在我的简单项目中使用hmvc,但我不知道如何在控制器中调用它们。
这是我的设置

- modules
  - common
    - controllers
      - header
      - footer
    - views
      - header
      - footer
  - foo
    - controllers
      - foo
    - views
      - foo

我的页眉和页脚控制器:
class Header extends MX_Controller {

    public function __construct() {
        parent::__construct();
    }

    public function index() {

        $data['title'] = "Welcome to HMVC!";

        $this->load->view('header', $data);

    }

}

class Footer extends MX_Controller {

    public function __construct() {
        parent::__construct();
    }

    public function index() {

        $data['links'] = array('link1', 'link2', 'link3', 'link4', 'link5', 'link6');

        $this->load->view('footer', $data);

    }

}

我的页眉和页脚视图很简单,如下所示:
<!DOCTYPE html>
<html>
    <head>
        <title><?php echo $title; ?></title>
    </head>
    <body>
        <div class="container"><!-- main wrapper -->

……
    <ul style="list-style: none">
        <?php foreach($links as $link) { ?>
            <li><?php echo $link; ?></li>
        <?php } ?>
        </ul>
        </div><!-- end of main wrapper -->
    </body>
</html>

在我的foo控制器中,我这样称呼他们:
    public function __construct() {
        parent::__construct();
        $this->load->model('M_Foo');
    }

    public function index()
    {
        $data['test'] = $this->M_Foo->sampleQuery();

        Modules::run('common/header', $data);
        Modules::run('common/footer', $data);

        $this->load->view('foo_message', $data);


    }

我怎样才能在我的控制器内调用它们?
我对HMVC很陌生。

最佳答案

我很少碰到一个特别高质量的问题,如果可以的话,我会把你的问题投两次赞成票。不过,我没有任何使用hmvc的经验,只是在黑暗中拍摄,但是如果您尝试引用方法而不是控制器,会发生什么?

Modules::run('common/header/index', $data);
Modules::run('common/footer/index', $data);

如果不起作用,也可以试试:
$this->load->module('common');
$this->header->index();
$this->footer->index();

09-27 04:51