This repository has been archived on 2025-01-19. You can view files and clone it, but cannot push or open issues or pull requests.
drupalcampbristol/vendor/symfony-cmf/routing/Event/RouterGenerateEvent.php
2018-11-23 12:29:20 +00:00

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;
}
}