Source of file ViewEvent.php
Size: 5,609 Bytes - Last Modified: 2014-03-12T23:21:18+01:00
/home/theseer/Downloads/ZendFramework-2.3.0/library/Zend/View/ViewEvent.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259 | <?php /** * Zend Framework (http://framework.zend.com/) * * @link http://github.com/zendframework/zf2 for the canonical source repository * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ 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; 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; } } |