在codeigniter中查看输出

时间:2013-03-01 11:27:23

标签: php codeigniter

这两种方法之间有什么区别:

$data['content'] = $this->load->view('content', NULL, true); // the content of the page
$this->load->view('layout', $data); //putting the content inside the layout, this include header, footer etc...

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

//这里有更多加载视图,如果需要,所以每个视图分开加载

我不知道这是否是最好的方法,但哪种方法更好用?或者如果你有更好的想法......

4 个答案:

答案 0 :(得分:3)

这会将您的视图数据分配给$ mydata并且不会在浏览器上呈现,thrid参数'TRUE'将执行此操作

$mydata = $this->load->view('content', NULL, true);

这将直接在浏览器上呈现您的视图

$data = array();
$this->load->view('layout', $data);

并且您的第二个选择是最佳方法

答案 1 :(得分:1)

执行此操作时:

$data['content'] = $this->load->view('content', NULL, true);
$this->load->view('layout', $data);

您的视图内容被解析为字符串,因此您必须在布局视图中的某处回显$ content变量。

执行此操作时:

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

您的视图会发送到浏览器,以便他可以呈现它。第二个是最好的方法。它使您的代码更易于理解,更快速,更轻松地进行更改。

您可以在此处阅读有关观看次数的论坛:http://ellislab.com/codeigniter/user-guide/general/views.html

答案 2 :(得分:0)

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

是更好的选择,因为它需要更少的时间来执行和易于理解

答案 3 :(得分:0)

这两种方法中的每一种都有其优势,具体取决于您的使用方式。

当您进行常规页面加载时,最佳方法是:

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

当您对服务器执行Ajax调用并在客户端浏览器上加载Div上的特定视图时,第二种方法非常有用:

$view = $this->load->view('subpage','',TRUE);
$data = array('content' => $view);

print json_encode($data);