Chris@14: Chris@14: * Chris@14: * For the full copyright and license information, please view the LICENSE Chris@14: * file that was distributed with this source code. Chris@14: */ Chris@14: Chris@14: namespace Symfony\Component\Routing\Loader\Configurator\Traits; Chris@14: Chris@14: use Symfony\Component\Routing\Loader\Configurator\RouteConfigurator; Chris@14: use Symfony\Component\Routing\Route; Chris@14: use Symfony\Component\Routing\RouteCollection; Chris@14: Chris@14: trait AddTrait Chris@14: { Chris@14: /** Chris@14: * @var RouteCollection Chris@14: */ Chris@14: private $collection; Chris@14: Chris@14: private $name = ''; Chris@14: Chris@14: /** Chris@14: * Adds a route. Chris@14: * Chris@14: * @param string $name Chris@14: * @param string $path Chris@14: * Chris@14: * @return RouteConfigurator Chris@14: */ Chris@14: final public function add($name, $path) Chris@14: { Chris@14: $parentConfigurator = $this instanceof RouteConfigurator ? $this->parentConfigurator : null; Chris@14: $this->collection->add($this->name.$name, $route = new Route($path)); Chris@14: Chris@14: return new RouteConfigurator($this->collection, $route, '', $parentConfigurator); Chris@14: } Chris@14: Chris@14: /** Chris@14: * Adds a route. Chris@14: * Chris@14: * @param string $name Chris@14: * @param string $path Chris@14: * Chris@14: * @return RouteConfigurator Chris@14: */ Chris@14: final public function __invoke($name, $path) Chris@14: { Chris@14: return $this->add($name, $path); Chris@14: } Chris@14: }