语法:$this->load->view($v1,$v2,$v3)
作用:在控制器页面中添加视图
说明:
1 $v1:要载入的视图文件。
例如:
<!-- lang: php -->
$this->load->view('name');
name是视图文件的名字,注意 .php文件的扩展名(后缀名)没有必要专门写出,除非使用了其他的扩展名,此外可以用文件夹存储视图name替换为folder_name/file_name,并且可以载入多个视图,例如希望一个标题视图,一个菜单视图,一个内容视图和一个页脚视图:
<!-- lang: php -->
<?php
<!-- lang: php -->
class Page extends CI_Controller{
<!-- lang: php -->
function index(){
<!-- lang: php -->
$data['page_title'] = 'Your title';
<!-- lang: php -->
$this->load->view('header');
<!-- lang: php -->
$this->load->view('menu');
<!-- lang: php -->
$this->load->view('content',$data);
<!-- lang: php -->
$this->load->view('footer');
<!-- lang: php -->
}
<!-- lang: php -->
}
<!-- lang: php -->
?>
2 $v2:给视图添加动态数据。
说明:数据通过控制器以数组或者对象的形式传入视图,这个数组或对象作为视图载入函数的第二个参数。
示例:
控制器中:
1)数组
<!-- lang: php -->
$data = array(
<!-- lang: php -->
'title' => 'My Title',
<!-- lang: php -->
'heading => 'MyHeading',
<!-- lang: php -->
'message' => 'My Message');
<!-- lang: php -->
$this->load->view('blogview',$data);
2)对象
<!-- lang: php -->
$data = new Someclass();
<!-- lang: php -->
$this->load->view('blogview',$data);
注意:如果你使用一个对象,那么类变量将转化为数组元素
3)当我们一次载入多个视图时****只需在第一个视图中出入数据就可以了
3 $v3:获取视图的内容,表示不输出视图,而只是将结果返回给一个变量。
详细说明:view函数第3个可选参数可以改变函数的行为,让数据作为字符串返回而不是发送到浏览器。如果想用其它方式对数据进一步处理,这样做很有用。如果将view第3个参数设置为true(布尔)则函数返回数据。view函数缺省行为是false,将数据发送到浏览器。如果想返回数据,记得将它赋到一个变量中:$string = $this->load->view('myfile','',true);
有些情况下,你并不想直接输出视图,而是仅仅想得到视图的内容以备后用,可以参考如下代码;
<!-- lang: php -->
<?php
<!-- lang: php -->
class Blog extends CI_Controller{
<!-- lang: php -->
function index(){
<!-- lang: php -->
$data['todo_list'] = array('Clean House','Call Mom','Run Errands');
<!-- lang: php -->
<!-- lang: php -->
$data['heading'] = 'My Real Title';
<!-- lang: php -->
$data['heading'] = 'My Real Heading';
<!-- lang: php -->
<!-- lang: php -->
$buffer = $this->load->view('blogview',$data,true);
<!-- lang: php -->
}
<!-- lang: php -->
}
<!-- lang: php -->
?>