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 EOT定界符的使用详解
Sep 30 PHP
PHP COOKIE设置为浏览器进程
Jun 21 PHP
redis 队列操作的例子(php)
Apr 12 PHP
PHP 读取Postgresql中的数组
Apr 14 PHP
PHP计数器的实现代码
Jun 08 PHP
php代码书写习惯优化小结
Jun 20 PHP
php 的反射详解及示例代码
Aug 25 PHP
PHP实现下载远程图片保存到本地的方法
Jun 19 PHP
PHP连接MySQL数据库并以json格式输出
May 21 PHP
PHP Primary script unknown 解决方法总结
Aug 22 PHP
解决Laravel自定义类引入和命名空间的问题
Oct 15 PHP
laravel接管Dingo-api和默认的错误处理方式
Oct 25 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
微信扫描二维码登录网站代码示例
2013/12/30 PHP
php把session写入数据库示例
2014/02/26 PHP
yii实现创建验证码实例解析
2014/07/31 PHP
php生成zip文件类实例
2015/04/07 PHP
php数组生成html下拉列表的方法
2015/07/20 PHP
PHP数组函数array_multisort()用法实例分析
2016/04/02 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
2016/04/07 PHP
JTrackBar水平拖动效果
2007/07/15 Javascript
Javascript的一种模块模式
2008/03/22 Javascript
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
js控制web打印(局部打印)方法整理
2013/05/29 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
2015/01/27 Javascript
JS实现1000以内被3或5整除的数字之和
2016/02/18 Javascript
Node.js检测端口(port)是否被占用的简单示例
2016/09/29 Javascript
JavaScript对象封装的简单实现方法(3种方法)
2017/01/03 Javascript
jquery仿京东侧边栏导航效果
2017/03/02 Javascript
JS实现多张图片预览同步上传功能
2017/06/23 Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
2017/08/29 Javascript
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
2018/08/25 Javascript
微信小程序制作表格的方法
2019/02/14 Javascript
Express结合Webpack的全栈自动刷新
2019/05/23 Javascript
Node使用Selenium进行前端自动化操作的代码实现
2019/10/10 Javascript
Vue简单封装axios之解决post请求后端接收不到参数问题
2020/02/16 Javascript
[01:10:27]DOTA2-DPC中国联赛正赛 SAG vs XG BO3 第二场 3月5日
2021/03/11 DOTA
Python中AND、OR的一个使用小技巧
2015/02/18 Python
Python最基本的数据类型以及对元组的介绍
2015/04/14 Python
Python中的函数作用域
2018/05/07 Python
对Python3+gdal 读取tiff格式数据的实例讲解
2018/12/04 Python
python 叠加等边三角形的绘制的实现
2019/08/14 Python
Keras - GPU ID 和显存占用设定步骤
2020/06/22 Python
Ubuntu20.04环境安装tensorflow2的方法步骤
2021/01/29 Python
店长岗位职责
2013/11/21 职场文书
教师节演讲稿
2014/05/06 职场文书