简而言之,一个视图就是一个网页,或是网页的部分,如头部,底部,侧边栏等等,视图可以是html文件,也可以是php文件,视图从不直接调用,必须被一个控制器来调用。
在views下新建blog目录,在目录下新建4个html文件:header.html、menu.html、content.html、foot.html,html中简单的输出文件名,其中content.html中还显示$title变量。
控制器通过超级对象的view方法加载视图
$this->load->view('name');
通过调用多次view方法可以加载多个视图
$data['title'] = 'Your title'; $this->load->view('blogs/header', $data); $this->load->view('blogs/menu'); $this->load->view('blogs/content'); $this->load->view('blogs/foot');
数据通过控制器以一个数组或是对象的形式传入视图 , 这个数组或对象作为视图载入函数的第二个参数,上例中通过数据$data将数据传入视图,下面是通过对象传入数据,注意:如果你使用一个对象,那么类变量将转换为数组元素。
$data = new Someclass(); $this->load->view('blogview', $data);
当我们一次性载入多个视图的时候,你只需在第一个视图传入数据就可以了,或者在需要使用数据的视图被加载时传递就可以了,也就是说最迟需要在加载需要使用数据的视图时传递。
view函数的第三个参数可以改变函数的行为,让数据作为字符串返回而不是发送到浏览器。如果想用其它方式对数据进一步处理,这样做很有用。如果将view第三个参数设置为true(布尔)则函数返回数据。