143 lines
3.1 KiB
PHP
143 lines
3.1 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of the Symfony CMF package.
|
|
*
|
|
* (c) 2011-2015 Symfony CMF
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Symfony\Cmf\Component\Routing\Event;
|
|
|
|
use Symfony\Component\EventDispatcher\Event;
|
|
use Symfony\Component\Routing\Route;
|
|
|
|
/**
|
|
* Event fired before the dynamic router generates a url for a route.
|
|
*
|
|
* The name, parameters and absolute properties have the semantics of
|
|
* UrlGeneratorInterface::generate()
|
|
*
|
|
* @author Ben Glassman
|
|
*
|
|
* @see \Symfony\Component\Routing\Generator\UrlGeneratorInterface::generate()
|
|
*/
|
|
class RouterGenerateEvent extends Event
|
|
{
|
|
/**
|
|
* The name of the route or the Route instance to generate.
|
|
*
|
|
* @var string|Route
|
|
*/
|
|
private $route;
|
|
|
|
/**
|
|
* The parameters to use when generating the url.
|
|
*
|
|
* @var array
|
|
*/
|
|
private $parameters;
|
|
|
|
/**
|
|
* The type of reference to be generated (one of the constants in UrlGeneratorInterface).
|
|
*
|
|
* @var bool|string
|
|
*/
|
|
private $referenceType;
|
|
|
|
/**
|
|
* @param string|Route $route The route name or object
|
|
* @param array $parameters The parameters to use
|
|
* @param bool|string $referenceType The type of reference to be generated
|
|
*/
|
|
public function __construct($route, $parameters, $referenceType)
|
|
{
|
|
$this->route = $route;
|
|
$this->parameters = $parameters;
|
|
$this->referenceType = $referenceType;
|
|
}
|
|
|
|
/**
|
|
* Get route name or object.
|
|
*
|
|
* @return string|Route
|
|
*/
|
|
public function getRoute()
|
|
{
|
|
return $this->route;
|
|
}
|
|
|
|
/**
|
|
* Set route name or object.
|
|
*
|
|
* @param string|Route $route
|
|
*/
|
|
public function setRoute($route)
|
|
{
|
|
$this->route = $route;
|
|
}
|
|
|
|
/**
|
|
* Get route parameters.
|
|
*
|
|
* @return array
|
|
*/
|
|
public function getParameters()
|
|
{
|
|
return $this->parameters;
|
|
}
|
|
|
|
/**
|
|
* Set the route parameters.
|
|
*
|
|
* @param array $parameters
|
|
*/
|
|
public function setParameters(array $parameters)
|
|
{
|
|
$this->parameters = $parameters;
|
|
}
|
|
|
|
/**
|
|
* Set a route parameter.
|
|
*
|
|
* @param string $key
|
|
* @param mixed $value
|
|
*/
|
|
public function setParameter($key, $value)
|
|
{
|
|
$this->parameters[$key] = $value;
|
|
}
|
|
|
|
/**
|
|
* Remove a route parameter by key.
|
|
*
|
|
* @param string $key
|
|
*/
|
|
public function removeParameter($key)
|
|
{
|
|
unset($this->parameters[$key]);
|
|
}
|
|
|
|
/**
|
|
* The type of reference to be generated (one of the constants in UrlGeneratorInterface).
|
|
*
|
|
* @return bool|string
|
|
*/
|
|
public function getReferenceType()
|
|
{
|
|
return $this->referenceType;
|
|
}
|
|
|
|
/**
|
|
* The type of reference to be generated (one of the constants in UrlGeneratorInterface).
|
|
*
|
|
* @param bool|string $referenceType
|
|
*/
|
|
public function setReferenceType($referenceType)
|
|
{
|
|
$this->referenceType = $referenceType;
|
|
}
|
|
}
|