The Yaf_Controller_Abstract class

(Yaf >=1.0.0)

���

Yaf_Controller_Abstract ��Yaf��MVC��ϵ�ĺ��IJ��֡� MVC��ָModel-View-Controller, ��һ�����ڷ���Ӧ���߼��ͱ����߼������ģʽ��

ÿ���û��Զ���controller��Ӧ���̳�Yaf_Controller_Abstract��

��ᷢ�������Լ���controller���޷�����__construct��������ˣ�Yaf_Controller_Abstract �ṩ��һ��ħ������Yaf_Controller_Abstract::init()��

��������Լ���controller�����Ѿ�������һ��init()�����������controller��ʵ������ʱ�����������á�

Action������Ҫ��������һ������������ʱ����·�����������IJ�������ͬ���Ƶı��������磺Yaf_Request_Abstract::getParam()���� Yaf�������Ǵ��ݸ�action������see Yaf_Action_Abstract::execute()����

��ժҪ

abstract Yaf_Controller_Abstract {
/* ���� */
public $actions ;
protected $_module ;
protected $_name ;
protected $_request ;
protected $_response ;
protected $_invoke_args ;
protected $_view ;
/* ���� */
final private __clone ( void ) : void
final private __construct ( void )
protected display ( string $tpl [, array $parameters ] ) : bool
public forward ( string $module [, string $controller [, string $action [, array $paramters ]]] ) : void
public getInvokeArg ( string $name ) : void
public getInvokeArgs ( void ) : void
public getModuleName ( void ) : string
public getRequest ( void ) : Yaf_Request_Abstract
public getView ( void ) : Yaf_View_Interface
public getViewpath ( void ) : void
public init ( void ) : void
public initView ([ array $options ] ) : void
public redirect ( string $url ) : void
protected render ( string $tpl [, array $parameters ] ) : string
public setViewpath ( string $view_directory ) : void
}

����

actions

��Ҳ����ͨ��ʹ�����ֵ�� Yaf_Action_Abstract ��һ��������PHP�ű��ж���action������

Example #1 ��һ���������ļ��ж���action

<?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) {
       
assert($name == $this->getRequest()->getParam("name"));
       
assert($id   == $this->_request->getParam("id"));
    }
}
?>

Example #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

ģ����

_name

_request

��ǰ������ʵ��

_response

_invoke_args

_view

��ͼ����

Table of Contents