abstract class Yaf_Controller_Abstract (View source)

Yaf_Controller_Abstract is the heart of Yaf's system. MVC stands for Model-View-Controller and is a design pattern targeted at separating application logic from display logic.


Every custom controller shall inherit Yaf_Controller_Abstract.


You will find that you can not define __construct function for your custom controller, thus, Yaf_Controller_Abstract provides a magic method: Yaf_Controller_Abstract::init().


If you have defined a init() method in your custom controller, it will be called as long as the controller was instantiated.


Action may have arguments, when a request coming, if there are the same name variable in the request parameters(see Yaf_Request_Abstract::getParam()) after routed, Yaf will pass them to the action method (see Yaf_Action_Abstract::execute()).


Note:

These arguments are directly fetched without filtering, it should be carefully processed before use them.

Properties

array $actions
protected string $_module
protected string $_name
protected Yaf_Request_Abstract $_request
protected Yaf_Response_Abstract $_response
protected array $_invoke_args
protected Yaf_View_Interface $_view

Methods

string|null|bool
render(string $tpl, array|null $parameters = null)

No description

bool
display(string $tpl, array|null $parameters = null)

No description

getRequest()

retrieve current request object

getResponse()

retrieve current response object

string
getModuleName()

get the controller's module name

getView()

retrieve view engine

string|null
getName()

No description

initView(array|null $options = null) deprecated

No description

bool
setViewpath(string $view_directory)

No description

string
getViewpath()

No description

bool
forward(string $module, string $controller = null, string $action = null, array|null $parameters = null)

forward current execution process to other action.


Note:

this method doesn't switch to the destination action immediately, it will take place after current flow finish.


Notice, there are 3 available method signatures:

Yaf_Controller_Abstract::forward ( string $module , string $controller , string $action [, array $parameters ] )

Yaf_Controller_Abstract::forward ( string $controller , string $action [, array $parameters ] )

Yaf_Controller_Abstract::forward ( string $action [, array $parameters ] )

bool
redirect(string $url)

redirect to a URL by sending a 302 header

array
getInvokeArgs()

No description

mixed
getInvokeArg(string $name)

No description

void
init()

Yaf_Controller_Abstract::__construct() is final, which means users can not override it. but users can define Yaf_Controller_Abstract::init(), which will be called after controller object is instantiated.

__construct(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response, Yaf_View_Interface $view, array|null $args = null)

Yaf_Controller_Abstract::__construct() is final, which means it can not be overridden. You may want to see Yaf_Controller_Abstract::init() instead.

Details

protected string|null|bool render(string $tpl, array|null $parameters = null)

No description

Parameters

string $tpl
array|null $parameters

Return Value

string|null|bool

protected bool display(string $tpl, array|null $parameters = null)

No description

Parameters

string $tpl
array|null $parameters

Return Value

bool

Yaf_Request_Abstract getRequest()

retrieve current request object

Return Value

Yaf_Request_Abstract

Yaf_Response_Abstract getResponse()

retrieve current response object

Return Value

Yaf_Response_Abstract

string getModuleName()

get the controller's module name

Return Value

string

Yaf_View_Interface getView()

retrieve view engine

Return Value

Yaf_View_Interface

string|null getName()

No description

Return Value

string|null

Yaf_Response_Abstract initView(array|null $options = null) deprecated

deprecated not_implemented

No description

Parameters

array|null $options

Return Value

Yaf_Response_Abstract

bool setViewpath(string $view_directory)

No description

Parameters

string $view_directory

Return Value

bool

string getViewpath()

No description

Return Value

string

bool forward(string $module, string $controller = null, string $action = null, array|null $parameters = null)

forward current execution process to other action.


Note:

this method doesn't switch to the destination action immediately, it will take place after current flow finish.


Notice, there are 3 available method signatures:

Yaf_Controller_Abstract::forward ( string $module , string $controller , string $action [, array $parameters ] )

Yaf_Controller_Abstract::forward ( string $controller , string $action [, array $parameters ] )

Yaf_Controller_Abstract::forward ( string $action [, array $parameters ] )

Parameters

string $module

destination module name, if NULL was given, then default module name is assumed

string $controller

destination controller name

string $action

destination action name

array|null $parameters

calling arguments

Return Value

bool

return FALSE on failure

bool redirect(string $url)

redirect to a URL by sending a 302 header

Parameters

string $url

a location URL

Return Value

bool

array getInvokeArgs()

No description

Return Value

array

mixed getInvokeArg(string $name)

No description

Parameters

string $name

Return Value

mixed

void init()

Yaf_Controller_Abstract::__construct() is final, which means users can not override it. but users can define Yaf_Controller_Abstract::init(), which will be called after controller object is instantiated.

Return Value

void

__construct(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response, Yaf_View_Interface $view, array|null $args = null)

Yaf_Controller_Abstract::__construct() is final, which means it can not be overridden. You may want to see Yaf_Controller_Abstract::init() instead.

Parameters

Yaf_Request_Abstract $request
Yaf_Response_Abstract $response
Yaf_View_Interface $view
array|null $args

See also

Yaf_Controller_Abstract::init