mirror of
https://github.com/torrentpier/torrentpier-lts.git
synced 2025-03-01 15:21:02 +03:00
303 lines
5.8 KiB
PHP
303 lines
5.8 KiB
PHP
<?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;
|
|
}
|
|
}
|