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 →