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


Posted in PHP onDecember 09, 2016

本文实例讲述了Zend Framework入门教程之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的主要功能就是把数据,从控制器层传入到视图层。

希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 和 XML: 使用expat函数(三)
Oct 09 PHP
用PHP实现将GB编码转换为UTF8
Nov 25 PHP
PHP动态变静态原理
Nov 25 PHP
php异常处理技术,顶级异常处理器
Jun 13 PHP
Thinkphp模板中使用自定义函数的方法
Sep 23 PHP
一个不易被发现的PHP后门代码解析
Jul 05 PHP
yii实现创建验证码实例解析
Jul 31 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
Mar 31 PHP
laravel Model 执行事务的实现
Oct 10 PHP
如何在centos8自定义目录安装php7.3
Nov 28 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 PHP
如何理解PHP核心特性命名空间
May 28 PHP
Zend Framework处理Json数据方法详解
Dec 09 #PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
Dec 09 #PHP
PHP 根据key 给二维数组分组
Dec 09 #PHP
Zend Framework入门教程之Zend_Registry组件用法详解
Dec 09 #PHP
Zend Framework入门教程之Zend_Config组件用法详解
Dec 09 #PHP
Zend Framework过滤器Zend_Filter用法详解
Dec 09 #PHP
Zend Framework实现自定义过滤器的方法
Dec 09 #PHP
You might like
叶罗丽:为什么大家对颜冰这对CP非常关心,却对金茉两人十分冷漠
2020/03/17 国漫
PHP 利用Mail_MimeDecode类提取邮件信息示例
2014/01/26 PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
2014/07/11 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
2014/10/31 PHP
php微信公众号开发之现金红包
2018/04/16 PHP
php workerman定时任务的实现代码
2018/12/23 PHP
一个不错的应用,用于提交获取文章内容,不推荐用
2007/03/03 Javascript
JavaScript 构造函数 面相对象学习必备知识
2010/06/09 Javascript
用js实现的模拟jquery的animate自定义动画(2.5K)
2010/07/20 Javascript
javascript实现的DES加密示例
2013/10/30 Javascript
JavaScript动态加载样式表的方法
2015/03/21 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
在AngularJS中如何使用谷歌地图把当前位置显示出来
2016/01/25 Javascript
jQuery+PHP+MySQL实现无限级联下拉框效果
2016/02/19 Javascript
基于javascript显示当前时间以及倒计时功能
2016/03/18 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
JS回调函数简单用法示例
2017/02/09 Javascript
几行js代码实现自适应
2017/02/24 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
jQuery与vue实现拖动验证码功能
2018/01/30 jQuery
Vue.js中的computed工作原理
2018/03/22 Javascript
说说Vue.js中的functional函数化组件的使用
2019/02/12 Javascript
webpack4 optimization使用总结
2019/11/10 Javascript
jquery实现手风琴案例
2020/05/04 jQuery
vue将data恢复到初始状态 &amp;&amp; 重新渲染组件实例
2020/09/04 Javascript
python实现删除文件与目录的方法
2014/11/10 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
Python反射的用法实例分析
2018/02/11 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
css3中背景尺寸background-size详解
2014/09/02 HTML / CSS
Footshop罗马尼亚:最好的运动鞋选择
2019/09/10 全球购物
Contém1g官网:巴西彩妆品牌
2020/01/17 全球购物
揭牌仪式策划方案
2014/05/28 职场文书
预备党员考察意见范文
2015/06/01 职场文书
Nginx已编译的nginx-添加新模块
2021/04/01 Servers
Vue3.0中Ref与Reactive的区别示例详析
2021/07/07 Vue.js