Zend Framework动作控制器用法示例


Posted in PHP onDecember 09, 2016

本文实例讲述了Zend Framework动作控制器用法。分享给大家供大家参考,具体如下:

动作控制器简介

为了使用Zend_Controller_Action类,需要在实际控制器类中把它子类化。

代码:

<?php
class FooController extends Zend_Controller_Action{
  public function barAction(){
    //do something
  }
  public function bazAction(){
    //do something
  }
}

说明:上述FooController类,定义了两个动作,bar和baz。

对象初始化

初始化更合适的方法来定制实例化是使用init()方法。该方法是在__construct()里的最后一个调用任务。

代码:

<?php
class FooController extends Zend_Controller_Action{
  public function init(){
    $this->db = Zend_Db::factory('Pdo_Mysql',array(
      'host'=>'myhost',
      'username'=>'user',
      'password'=>'xxxx',
      'dbname'=>'website'
    ));
  }
}

说明:上述代码就在初始化对象的同时实现了对数据库的连接。

访问器

动作控制器可以包括很多内容,如请求对象、响应对象、调用参数、请求参数。这些内容都可以通过相应的访问器方法进行访问。

请求对象可以通过getRequest()方法来获取,执行该方法将返回一个Zend_Controller_Request_Abstract实例。

代码:

$module = $this->getRequest()->getModuleName();//获取模块名称
$controller = $this->getRequest()->getControllerName();//获取控制器名称
$action = $this->getRequest()->getActionName();//获取动作名称

响应对象可以通过getResponse()方法来获取,执行该方法将返回一个Zend_Controller_Response_Abstract实例。

请求对象的请求参数包括任意GET或GET或_POST参数。为了读取这些参数,可以使用_getParam($key)或_getAllParams()方法。

视图集成方法

视图初始化

执行initView()方法将初始化视图对象。

解析视图

render()方法用于解析视图

代码:

<?php
class MyController extends Zend_Controller_Action{
  public function fooAction(){
    //Renders my/foo.phtml
    $this->render();
    //Renders my/bar.phtml
    $this->render('bar');
    //Renders baz.phtml
    $this->render('baz',null,true);//第三个参数,指定是否使用控制器目录作为子目录,true表示不使用
    //Renders my/login.phtml to the 'form' segment of the response object
    $this->render('login','form');
  }
}

其他方法

_forword(),该方法执行另外一个动作
_redirect(),该方法重定向到另外一个地方

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

PHP 相关文章推荐
JAVA/JSP学习系列之七
Oct 09 PHP
解析php中如何调用用户自定义函数
Aug 06 PHP
php 字符串中的\n换行符无效、不能换行的解决方法
Apr 02 PHP
php上传图片之时间戳命名(保存路径)
Aug 15 PHP
PHPUnit安装及使用示例
Oct 29 PHP
详谈PHP文件目录基础操作
Nov 11 PHP
PHP批量去除BOM头代码分享
Jun 26 PHP
php如何连接sql server
Oct 16 PHP
php支付宝在线支付接口开发教程
Sep 19 PHP
浅谈php和js中json的编码和解码
Oct 24 PHP
PHP 实现文件压缩解压操作的方法
Jun 14 PHP
在Laravel中使用GuzzleHttp调用第三方服务的API接口代码
Oct 15 PHP
Zend Framework入门教程之Zend_View组件用法示例
Dec 09 #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
You might like
全国FM电台频率大全 - 1 北京市
2020/03/11 无线电
php函数间的参数传递(值传递/引用传递)
2013/09/23 PHP
php获取目录所有文件并将结果保存到数组(实例)
2013/10/25 PHP
PHP把网页保存为word文件的三种方法
2014/04/01 PHP
php实现的SSO单点登录系统接入功能示例分析
2016/10/12 PHP
有效的捕获JavaScript焦点的方法小结
2009/10/08 Javascript
JavaScript高级程序设计 错误处理与调试学习笔记
2011/09/10 Javascript
js 立即调用的函数表达式如何写
2014/01/12 Javascript
Javascript遍历Html Table示例(包括内容和属性值)
2014/07/08 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
jQuery简单实现中间浮窗效果
2016/09/04 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
2016/10/27 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
js实现无限层级树形数据结构(创新算法)
2020/02/27 Javascript
基于脚手架创建Vue项目实现步骤详解
2020/08/03 Javascript
微信小程序将页面按钮悬浮固定在底部的实现代码
2020/10/29 Javascript
Python实现测试磁盘性能的方法
2015/03/12 Python
python docx 中文字体设置的操作方法
2018/05/08 Python
python分别打包出32位和64位应用程序
2020/02/18 Python
通过cmd进入python的步骤
2020/06/16 Python
python实现scrapy爬虫每天定时抓取数据的示例代码
2021/01/27 Python
python SOCKET编程基础入门
2021/02/27 Python
CSS3教程:边框属性border的极致应用
2009/04/02 HTML / CSS
利用三角函数在canvas上画虚线的方法
2018/01/11 HTML / CSS
C#如何进行LDAP用户校验
2012/11/21 面试题
大学生的网络创业计划书
2013/12/26 职场文书
办公室秘书自我鉴定
2014/01/18 职场文书
毕业晚会主持词
2014/03/24 职场文书
知识就是力量演讲稿
2014/09/13 职场文书
介绍信范文大全
2015/05/07 职场文书
工商局调档介绍信
2015/10/22 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书
如何判断微信付款码和支付宝付款码
2021/04/01 PHP
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers