首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Yaf_Controller_Abstract (class)

介绍

(Yaf >=1.0.0)

Yaf_Controller_Abstract Yaf 系统的核心。MVC 代表模型 - 视图 - 控制器,是一种旨在将应用程序逻辑与显示逻辑分离的设计模式。

每个自定义控制器应该继承 Yaf_Controller_Abstract

你会发现你不能为你的自定义控制器定义 __construct 函数,因此, Yaf_Controller_Abstract 提供了一个神奇的方法:Yaf_Controller_Abstract :: init()。

如果你在自定义控制器中定义了一个 init()方法,只要控制器被实例化,它就会被调用。

Action 可能有参数,当请求到来时,如果请求参数中有相同的名称变量(请参阅 Yaf_Request_Abstract :: getParam()),则 Yaf会将它们传递给 action 方法(请参阅 Yaf_Action_Abstract :: execute())。 。

注意:这些参数是直接获取的,没有过滤,在使用它们之前应该仔细处理。

课程简介

abstract Yaf_Controller_Abstract {

/* Properties */

public $actions ;

protected $_module ;

protected $_name ;

protected $_request ;

protected $_response ;

protected $_invoke_args ;

protected $_view ;

/* Methods */

代码语言:javascript
复制
final private void __clone ( void )
代码语言:javascript
复制
final private __construct ( void )
代码语言:javascript
复制
protected bool display ( string $tpl [, array $parameters ] )
代码语言:javascript
复制
public void forward ( string $action [, array $paramters ] )
代码语言:javascript
复制
public void getInvokeArg ( string $name )
代码语言:javascript
复制
public void getInvokeArgs ( void )
代码语言:javascript
复制
public string getModuleName ( void )
代码语言:javascript
复制
public Yaf_Request_Abstract getRequest ( void )
代码语言:javascript
复制
public Yaf_Response_Abstract getResponse ( void )
代码语言:javascript
复制
public Yaf_View_Interface getView ( void )
代码语言:javascript
复制
public void getViewpath ( void )
代码语言:javascript
复制
public void init ( void )
代码语言:javascript
复制
public void initView ([ array $options ] )
代码语言:javascript
复制
public bool redirect ( string $url )
代码语言:javascript
复制
protected string render ( string $tpl [, array $parameters ] )
代码语言:javascript
复制
public void setViewpath ( string $view_directory )

}

属性

操作

您还可以使用此属性和 Yaf_Action_Abstract 在单独的 PHP 脚本中定义一个操作方法。

示例#1在单独的文件中定义动作

代码语言:javascript
复制
<?php
class IndexController extends Yaf_Controller_Abstract {
    protected $actions = array(
        /** now dummyAction is defined in a separate file */
        "dummy" => "actions/Dummy_action.php",
    );

    /* action method may have arguments */
    public indexAction($name, $id) {
       /* $name and $id are unsafe raw data */
       assert($name == $this->getRequest()->getParam("name"));
       assert($id   == $this->_request->getParam("id"));
    }
}
?>

示例#2 Dummy_action.php

代码语言:javascript
复制
<?php
class DummyAction extends Yaf_Action_Abstract {
    /* a action class shall define this method  as the entry point */
    public execute() {
    }
}
?>

_module

module name

_name

controller name

_request

current request object

_response

current response object

_invoke_args_view

view engine object

目录

  • Yaf_Controller_Abstract::__clone — Yaf_Controller_Abstract can not be cloned
  • Yaf_Controller_Abstract::__construct — Yaf_Controller_Abstract constructor
  • Yaf_Controller_Abstract::display — The display purpose
  • Yaf_Controller_Abstract::forward — foward to another action
  • Yaf_Controller_Abstract::getInvokeArg — The getInvokeArg purpose
  • Yaf_Controller_Abstract::getInvokeArgs — The getInvokeArgs purpose
  • Yaf_Controller_Abstract::getModuleName — Get module name
  • Yaf_Controller_Abstract::getRequest — Retrieve current request object
  • Yaf_Controller_Abstract::getResponse — Retrieve current response object
  • Yaf_Controller_Abstract::getView — Retrieve the view engine
  • Yaf_Controller_Abstract::getViewpath — The getViewpath purpose
  • Yaf_Controller_Abstract::init — Controller initializer
  • Yaf_Controller_Abstract::initView — The initView purpose
  • Yaf_Controller_Abstract::redirect — Redirect to a URL
  • Yaf_Controller_Abstract::render — Render view template
  • Yaf_Controller_Abstract::setViewpath — The setViewpath purpose

← Yaf_Config_Simple::valid

Yaf_Controller_Abstract::__clone →

扫码关注腾讯云开发者

领取腾讯云代金券