Zend Framework学习(8)之Zend_View

Zend_View组件可以实现MVC模式中视图部分的代码与Model和Controller部分的分离。
使用步骤:首先在Controller中建立一个Zend_View实例,并将需要的变量传递给它;之后,Controller通知Zend_View显示一个特定的视图,
生成View输出的内容。

实例之控制器代码脚本:

<?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中的内容):

<?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;?>

执行结果:

作者     标题
曹雪芹     红楼梦
罗贯中     三国演义
吴承恩     西游记
施耐庵     水浒传

小结(实践感受):

这个案例,并没有什么很大的结构,Zend_View相当于一个插件,可以灵活的调用。Zend框架中的内容并不需要一定在很大的架构中使用。

MVC也并不那么呆板,它只是一种思想。这里的M层就是一组数组。真实开发过程中,就应该从数据库读取信息。视图层目录经过$view->setScriptPath('./');设置成了当前目录下。

这样就可以直接调用到当前目录下的文件4-2.php了。视图层接收到数据之后,进行一定的处理。

Zend_View的主要功能就是把数据,从控制器层传入到视图层。

 

你可能感兴趣的:(framework)