use*_*052 2 model-view-controller codeigniter view
我正在尝试确定从控制器中的相同方法调用多个视图的最佳实践.
在控制器中是否最好进行一次视图调用,然后让该视图调用所需的所有视图,或者在控制器中按顺序调用所需的所有视图?
例:
function index(){
//set all data variables
//then send them to the view
$this->load->view($index_view, $data);
}
Run Code Online (Sandbox Code Playgroud)
要么
function index(){
//set variables
//then call each view
$this->load->view($header_view, $header_data);
$this->load->view($body_view, $body_data);
$this->load->view($footer_view, $footer_data);
Run Code Online (Sandbox Code Playgroud)
Codeigniter指南显示了两种方式,但似乎没有建议最佳实践...是否有一个?
小智 9
我不喜欢在视图中包含页眉/页脚的方式,我不喜欢每次在每个Controller函数中加载页脚和页眉.
为了解决这个问题,我使用自己的视图显示功能扩展了Controller类.
<?php
// in application/libraries/MY_Controller.php
class MY_Controller extends Controller {
function _displayPage($page, $data = array()) {
$this->view->load('header', $data);
$this->view->load($page, $data);
$this->view->load('footer', $data);
}
}
?>
// in application/controllers/home.php
<?php
class Home extends MY_Controller {
function index() {
$this->_displayPage('home/index', array('title' => 'Home'));
}
}
?>
Run Code Online (Sandbox Code Playgroud)
不确定这是否是CodeIgniter"最佳实践",但这对我来说很有意义.
| 归档时间: |
|
| 查看次数: |
3297 次 |
| 最近记录: |