Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

264 lines (240 sloc) 5.686 kb
<?php
/**
* Zend Framework (http://framework.zend.com/)
*
* @link http://github.com/zendframework/zf2 for the canonical source repository
* @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @package Zend_View
*/
namespace Zend\View;
use ArrayAccess;
use Zend\EventManager\Event;
use Zend\Stdlib\RequestInterface as Request;
use Zend\Stdlib\ResponseInterface as Response;
use Zend\View\Model\ModelInterface as Model;
use Zend\View\Renderer\RendererInterface as Renderer;
/**
* @category Zend
* @package Zend_View
*/
class ViewEvent extends Event
{
/**#@+
* View events triggered by eventmanager
*/
const EVENT_RENDERER = 'renderer';
const EVENT_RENDERER_POST = 'renderer.post';
const EVENT_RESPONSE = 'response';
/**#@-*/
/**
* @var null|Model
*/
protected $model;
/**
* @var Renderer
*/
protected $renderer;
/**
* @var null|Request
*/
protected $request;
/**
* @var null|Response
*/
protected $response;
/**
* @var mixed
*/
protected $result;
/**
* Set the view model
*
* @param Model $model
* @return ViewEvent
*/
public function setModel(Model $model)
{
$this->model = $model;
return $this;
}
/**
* Set the MVC request object
*
* @param Request $request
* @return ViewEvent
*/
public function setRequest(Request $request)
{
$this->request = $request;
return $this;
}
/**
* Set the MVC response object
*
* @param Response $response
* @return ViewEvent
*/
public function setResponse(Response $response)
{
$this->response = $response;
return $this;
}
/**
* Set result of rendering
*
* @param mixed $result
* @return ViewEvent
*/
public function setResult($result)
{
$this->result = $result;
return $this;
}
/**
* Retrieve the view model
*
* @return null|Model
*/
public function getModel()
{
return $this->model;
}
/**
* Set value for renderer
*
* @param Renderer $renderer
* @return ViewEvent
*/
public function setRenderer(Renderer $renderer)
{
$this->renderer = $renderer;
return $this;
}
/**
* Get value for renderer
*
* @return null|Renderer
*/
public function getRenderer()
{
return $this->renderer;
}
/**
* Retrieve the MVC request object
*
* @return null|Request
*/
public function getRequest()
{
return $this->request;
}
/**
* Retrieve the MVC response object
*
* @return null|Response
*/
public function getResponse()
{
return $this->response;
}
/**
* Retrieve the result of rendering
*
* @return mixed
*/
public function getResult()
{
return $this->result;
}
/**
* Get event parameter
*
* @param string $name
* @param mixed $default
* @return mixed
*/
public function getParam($name, $default = null)
{
switch ($name) {
case 'model':
return $this->getModel();
case 'renderer':
return $this->getRenderer();
case 'request':
return $this->getRequest();
case 'response':
return $this->getResponse();
case 'result':
return $this->getResult();
default:
return parent::getParam($name, $default);
}
}
/**
* Get all event parameters
*
* @return array|\ArrayAccess
*/
public function getParams()
{
$params = parent::getParams();
$params['model'] = $this->getModel();
$params['renderer'] = $this->getRenderer();
$params['request'] = $this->getRequest();
$params['response'] = $this->getResponse();
$params['result'] = $this->getResult();
return $params;
}
/**
* Set event parameters
*
* @param array|object|ArrayAccess $params
* @return ViewEvent
*/
public function setParams($params)
{
parent::setParams($params);
if (!is_array($params) && !$params instanceof ArrayAccess) {
return $this;
}
foreach (array('model', 'renderer', 'request', 'response', 'result') as $param) {
if (isset($params[$param])) {
$method = 'set' . $param;
$this->$method($params[$param]);
}
}
return $this;
}
/**
* Set an individual event parameter
*
* @param string $name
* @param mixed $value
* @return ViewEvent
*/
public function setParam($name, $value)
{
switch ($name) {
case 'model':
$this->setModel($value);
break;
case 'renderer':
$this->setRenderer($value);
break;
case 'request':
$this->setRequest($value);
break;
case 'response':
$this->setResponse($value);
break;
case 'result':
$this->setResult($value);
break;
default:
parent::setParam($name, $value);
break;
}
return $this;
}
}
Jump to Line
Something went wrong with that request. Please try again.