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 相关文章推荐
PHPMailer邮件类利用smtp.163.com发送邮件方法
Sep 11 PHP
php操作sqlserver关于时间日期读取的小小见解
Nov 29 PHP
认识并使用PHP超级全局变量
Jan 26 PHP
Search File Contents PHP 搜索目录文本内容的代码
Feb 21 PHP
PHP中static关键字原理的学习研究分析
Jul 18 PHP
php生成略缩图代码
Jul 16 PHP
php Imagick获取图片RGB颜色值
Jul 28 PHP
全面解读PHP的人气开发框架Laravel
Oct 15 PHP
PHP实现冒泡排序的简单实例
May 26 PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
Jul 07 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
PHP实现用session来实现记录用户登陆信息
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
PHP数组循环操作详细介绍 附实例代码
2013/02/03 PHP
php变量作用域的深入解析
2013/06/03 PHP
php object转数组示例
2014/01/15 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
2014/07/30 PHP
php实现用于删除整个目录的递归函数
2015/03/16 PHP
PHP模板引擎smarty详细介绍
2015/05/26 PHP
thinkPHP中_initialize方法实例分析
2016/12/05 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
JavaScript初学者需要了解10个小技巧
2010/08/25 Javascript
Js操作树节点自动折叠展开的几种方法
2014/05/05 Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
2014/07/01 Javascript
jQuery将多条数据插入模态框的示例代码
2014/09/25 Javascript
jQuery插件windowScroll实现单屏滚动特效
2015/07/14 Javascript
Node.js程序中的本地文件操作用法小结
2016/03/06 Javascript
动态加载css方法实现和深入解析
2017/01/18 Javascript
vue轮播组件实现$children和$parent 附带好用的gif录制工具
2019/09/26 Javascript
Vuex的实战使用详解
2019/10/31 Javascript
vue项目强制清除页面缓存的例子
2019/11/06 Javascript
手把手教您实现react异步加载高阶组件
2020/04/07 Javascript
python实现用户登陆邮件通知的方法
2015/07/09 Python
Python正则表达式知识汇总
2017/09/22 Python
人工智能最火编程语言 Python大战Java!
2017/11/13 Python
关于反爬虫的一些简单总结
2017/12/13 Python
python正则实现计算器功能
2017/12/14 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
2018/05/04 Python
python获取交互式ssh shell的方法
2019/02/14 Python
python读写配置文件操作示例
2019/07/03 Python
基于python 取余问题(%)详解
2020/06/03 Python
pycharm永久激活超详细教程
2020/10/29 Python
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
描述RIP和OSPF区别以及特点
2015/01/17 面试题
酒店保安员岗位职责
2014/01/31 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
学校证明范文
2015/06/24 职场文书
人生感悟经典句子
2019/08/20 职场文书
创业计划书之o2o水果店
2019/08/30 职场文书