zoukankan      html  css  js  c++  java
  • Zend Framework学习(7)之动作控制器

    动作控制器简介

    为了使用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或$_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(),该方法重定向到另外一个地方

  • 相关阅读:
    oracle常用的sql语句
    Tomcat内存调优
    基于Linux服务器的Oracle自动备份以及定时清除
    Windows 中Oracle数据库定时备份与清除
    CentOS 7 root密码修改
    weblogic忘记用户密码
    weblogic修改密码
    通过python自动获取小说并下载
    Linux修改本机名称
    CentOS无法正常启动
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/2947665.html
Copyright © 2011-2022 走看看