3 * Zend Framework (http://framework.zend.com/)
5 * @link http://github.com/zendframework/zf2 for the canonical source repository
6 * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
7 * @license http://framework.zend.com/license/new-bsd New BSD License
13 use Zend\EventManager\Event
;
14 use Zend\Stdlib\RequestInterface
as Request
;
15 use Zend\Stdlib\ResponseInterface
as Response
;
16 use Zend\View\Model\ModelInterface
as Model
;
17 use Zend\View\Renderer\RendererInterface
as Renderer
;
19 class ViewEvent
extends Event
22 * View events triggered by eventmanager
24 const EVENT_RENDERER
= 'renderer';
25 const EVENT_RENDERER_POST
= 'renderer.post';
26 const EVENT_RESPONSE
= 'response';
60 public function setModel(Model
$model)
62 $this->model
= $model;
67 * Set the MVC request object
69 * @param Request $request
72 public function setRequest(Request
$request)
74 $this->request
= $request;
79 * Set the MVC response object
81 * @param Response $response
84 public function setResponse(Response
$response)
86 $this->response
= $response;
91 * Set result of rendering
93 * @param mixed $result
96 public function setResult($result)
98 $this->result
= $result;
103 * Retrieve the view model
107 public function getModel()
113 * Set value for renderer
115 * @param Renderer $renderer
118 public function setRenderer(Renderer
$renderer)
120 $this->renderer
= $renderer;
125 * Get value for renderer
127 * @return null|Renderer
129 public function getRenderer()
131 return $this->renderer
;
135 * Retrieve the MVC request object
137 * @return null|Request
139 public function getRequest()
141 return $this->request
;
145 * Retrieve the MVC response object
147 * @return null|Response
149 public function getResponse()
151 return $this->response
;
155 * Retrieve the result of rendering
159 public function getResult()
161 return $this->result
;
165 * Get event parameter
167 * @param string $name
168 * @param mixed $default
171 public function getParam($name, $default = null)
175 return $this->getModel();
177 return $this->getRenderer();
179 return $this->getRequest();
181 return $this->getResponse();
183 return $this->getResult();
185 return parent
::getParam($name, $default);
190 * Get all event parameters
192 * @return array|\ArrayAccess
194 public function getParams()
196 $params = parent
::getParams();
197 $params['model'] = $this->getModel();
198 $params['renderer'] = $this->getRenderer();
199 $params['request'] = $this->getRequest();
200 $params['response'] = $this->getResponse();
201 $params['result'] = $this->getResult();
206 * Set event parameters
208 * @param array|object|ArrayAccess $params
211 public function setParams($params)
213 parent
::setParams($params);
214 if (!is_array($params) && !$params instanceof ArrayAccess
) {
218 foreach (array('model', 'renderer', 'request', 'response', 'result') as $param) {
219 if (isset($params[$param])) {
220 $method = 'set' . $param;
221 $this->$method($params[$param]);
228 * Set an individual event parameter
230 * @param string $name
231 * @param mixed $value
234 public function setParam($name, $value)
238 $this->setModel($value);
241 $this->setRenderer($value);
244 $this->setRequest($value);
247 $this->setResponse($value);
250 $this->setResult($value);
253 parent
::setParam($name, $value);