PHP
Yaf

Yaf_Controller_Abstract (class)

The 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 */

final private void __clone ( void )

final private __construct ( void )

protected bool display ( string $tpl [, array $parameters ] )

public void forward ( string $action [, array $paramters ] )

public void getInvokeArg ( string $name )

public void getInvokeArgs ( void )

public string getModuleName ( void )

public Yaf_Request_Abstract getRequest ( void )

public Yaf_Response_Abstract getResponse ( void )

public Yaf_View_Interface getView ( void )

public void getViewpath ( void )

public void init ( void )

public void initView ([ array $options ] )

public bool redirect ( string $url )

protected string render ( string $tpl [, array $parameters ] )

public void setViewpath ( string $view_directory )

}

属性

操作

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

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

<?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

<?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 →