<?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\Mvc;
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\Model\ViewModel;
class MvcEvent extends Event
{
/**#@+
* Mvc events triggered by eventmanager
*/
const EVENT_BOOTSTRAP = 'bootstrap';
const EVENT_DISPATCH = 'dispatch';
const EVENT_DISPATCH_ERROR = 'dispatch.error';
const EVENT_FINISH = 'finish';
const EVENT_RENDER = 'render';
const EVENT_RENDER_ERROR = 'render.error';
const EVENT_ROUTE = 'route';
/**#@-*/
protected $application;
/**
* @var Request
*/
protected $request;
/**
* @var Response
*/
protected $response;
/**
* @var mixed
*/
protected $result;
/**
* @var Router\RouteStackInterface
*/
protected $router;
/**
* @var Router\RouteMatch
*/
protected $routeMatch;
/**
* @var Model
*/
protected $viewModel;
/**
* Set application instance
*
* @param ApplicationInterface $application
* @return MvcEvent
*/
public function setApplication(ApplicationInterface $application)
{
$this->setParam('application', $application);
$this->application = $application;
return $this;
}
/**
* Get application instance
*
* @return ApplicationInterface
*/
public function getApplication()
{
return $this->application;
}
/**
* Get router
*
* @return Router\RouteStackInterface
*/
public function getRouter()
{
return $this->router;
}
/**
* Set router
*
* @param Router\RouteStackInterface $router
* @return MvcEvent
*/
public function setRouter(Router\RouteStackInterface $router)
{
$this->setParam('router', $router);
$this->router = $router;
return $this;
}
/**
* Get route match
*
* @return Router\RouteMatch
*/
public function getRouteMatch()
{
return $this->routeMatch;
}
/**
* Set route match
*
* @param Router\RouteMatch $matches
* @return MvcEvent
*/
public function setRouteMatch(Router\RouteMatch $matches)
{
$this->setParam('route-match', $matches);
$this->routeMatch = $matches;
return $this;
}
/**
* Get request
*
* @return Request
*/
public function getRequest()
{
return $this->request;
}
/**
* Set request
*
* @param Request $request
* @return MvcEvent
*/
public function setRequest(Request $request)
{
$this->setParam('request', $request);
$this->request = $request;
return $this;
}
/**
* Get response
*
* @return Response
*/
public function getResponse()
{
return $this->response;
}
/**
* Set response
*
* @param Response $response
* @return MvcEvent
*/
public function setResponse(Response $response)
{
$this->setParam('response', $response);
$this->response = $response;
return $this;
}
/**
* Set the view model
*
* @param Model $viewModel
* @return MvcEvent
*/
public function setViewModel(Model $viewModel)
{
$this->viewModel = $viewModel;
return $this;
}
/**
* Get the view model
*
* @return Model
*/
public function getViewModel()
{
if (null === $this->viewModel) {
$this->setViewModel(new ViewModel());
}
return $this->viewModel;
}
/**
* Get result
*
* @return mixed
*/
public function getResult()
{
return $this->result;
}
/**
* Set result
*
* @param mixed $result
* @return MvcEvent
*/
public function setResult($result)
{
$this->setParam('__RESULT__', $result);
$this->result = $result;
return $this;
}
/**
* Does the event represent an error response?
*
* @return bool
*/
public function isError()
{
return (bool) $this->getParam('error', false);
}
/**
* Set the error message (indicating error in handling request)
*
* @param string $message
* @return MvcEvent
*/
public function setError($message)
{
$this->setParam('error', $message);
return $this;
}
/**
* Retrieve the error message, if any
*
* @return string
*/
public function getError()
{
return $this->getParam('error', '');
}
/**
* Get the currently registered controller name
*
* @return string
*/
public function getController()
{
return $this->getParam('controller');
}
/**
* Set controller name
*
* @param string $name
* @return MvcEvent
*/
public function setController($name)
{
$this->setParam('controller', $name);
return $this;
}
/**
* Get controller class
*
* @return string
*/
public function getControllerClass()
{
return $this->getParam('controller-class');
}
/**
* Set controller class
*
* @param string $class
* @return MvcEvent
*/
public function setControllerClass($class)
{
$this->setParam('controller-class', $class);
return $this;
}
}
# |
Change |
User |
Description |
Committed |
|
#1
|
18334 |
Liz Lam |
initial add of jambox |
|
|