Да, это возможно;Вы можете легко протестировать его самостоятельно:
class Customcontroller extends CI_Controller {
function index()
{
$data['test'] = 'test';
$this->load->view('header', $data);
$this->load->view('body');
$this->load->view('footer');
}
}
Вы заметите, что этот способ $data
будет доступен для всех представлений, даже если он не был передан по отдельности во время загрузки.
Я считаюЭто хороший способ построения страниц, используя представления в качестве блоков.Таким образом, вы можете также представить представления в соответствии с некоторыми ограничениями:
$this->load->view('header');
if($this->form_validation->run() == FALSE)
{
$this->load->view('display_form');
}
else
{
$this->load->view('form_sent');
}
$this->load->view('footer');
, например.
Хотя MVC обозначает Model-View-Controller и предлагает взаимно-однозначную корреляцию,используя разные представления для одного и того же контроллера, я сомневаюсь, что это можно считать «плохой практикой»;как уже говорилось, на самом деле идеального способа сделать это не существует, важно, чтобы логика была отделена и чтобы ваш код был хорошо структурирован и организован, особенно при работе в команде.