我在我的简单项目中使用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();