本文实例讲述了Zend Framework入门教程之Zend_View组件用法。分享给大家供大家参考,具体如下:
Zend_View组件可以实现MVC模式中视图部分的代码与Model和Controller部分的分离。
使用步骤:首先在Controller中建立一个Zend_View实例,并将需要的变量传递给它;之后,Controller通知Zend_View显示一个特定的视图,
生成View输出的内容。
实例之控制器代码脚本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<?php
//使用模型来获取书籍作者和标题相关数据
$data = array (
array (
'author' => '曹雪芹' ,
'title' => '红楼梦'
),
array (
'author' => '罗贯中' ,
'title' => '三国演义'
),
array (
'author' => '吴承恩' ,
'title' => '西游记'
),
array (
'author' => '施耐庵' ,
'title' => '水浒传'
)
);
//传递数据给Zend_View类的实例
require_once 'Zend/Loader.php' ;
Zend_Loader::loadClass( 'Zend_View' );
$view = new Zend_View();
$view ->books = $data ;
$view ->setScriptPath( './' );
echo $view ->render( '4-2.php' );
|
视图脚本代码(4-2.php中的内容):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<?php if ( $this ->books):?>
<table>
<tr>
<th>作者</th>
<th>标题</th>
</tr>
<?php foreach ( $this ->books as $key => $val ):?>
<tr>
<td><?php echo $this ->escape( $val [ 'author' ])?></td>
<td><?php echo $this ->escape( $val [ 'title' ])?></td>
</tr>
<?php endforeach ;?>
</table>
<?php else :?>
<p>没有需要的书目</p>
<?php endif ;?>
|
执行结果:
1
2
3
4
5
|
作者 标题
曹雪芹 红楼梦
罗贯中 三国演义
吴承恩 西游记
施耐庵 水浒传
|
小结(实践感受):
这个案例,并没有什么很大的结构,Zend_View相当于一个插件,可以灵活的调用。Zend框架中的内容并不需要一定在很大的架构中使用。
MVC也并不那么呆板,它只是一种思想。这里的M层就是一组数组。真实开发过程中,就应该从数据库读取信息。视图层目录经过$view->setScriptPath('./');设置成了当前目录下。
这样就可以直接调用到当前目录下的文件4-2.php了。视图层接收到数据之后,进行一定的处理。
Zend_View的主要功能就是把数据,从控制器层传入到视图层。
希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。