Zend Framework入门教程之Zend_View组件用法示例

时间:2022-10-17 19:44:21

本文实例讲述了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程序设计有所帮助。