Skip to content

Commit c67da45

Browse files
committed
fixup
1 parent 43c1666 commit c67da45

File tree

7 files changed

+49
-30
lines changed

7 files changed

+49
-30
lines changed

src/Symfony/Bundle/FrameworkBundle/Routing/Loader/Configurator/RouteConfigurator.php

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,22 @@
1313

1414
use Symfony\Bundle\FrameworkBundle\Controller\RedirectController;
1515
use Symfony\Bundle\FrameworkBundle\Controller\TemplateController;
16+
use Symfony\Bundle\FrameworkBundle\Routing\Loader\Configurator\Traits\AddTrait;
1617
use Symfony\Component\Routing\Loader\Configurator\RouteConfigurator as BaseRouteConfigurator;
1718

1819
/**
1920
* @author Jules Pietri <jules@heahprod.com>
2021
*/
2122
class RouteConfigurator extends BaseRouteConfigurator
2223
{
24+
use AddTrait;
25+
2326
/**
2427
* @param string $template The template name
2528
*/
2629
final public function template(string $template): TemplateRouteConfigurator
2730
{
28-
return (TemplateRouteConfigurator::clone($this))
31+
return (new TemplateRouteConfigurator($this->collection, $this->route, $this->name, $this->parentConfigurator, $this->prefixes))
2932
->defaults([
3033
'_controller' => TemplateController::class,
3134
'template' => $template,
@@ -38,10 +41,10 @@ final public function template(string $template): TemplateRouteConfigurator
3841
*/
3942
final public function redirectToRoute(string $route): RedirectRouteConfigurator
4043
{
41-
return (RedirectRouteConfigurator::clone($this))
44+
return (new RedirectRouteConfigurator($this->collection, $this->route, $this->name, $this->parentConfigurator, $this->prefixes))
4245
->defaults([
43-
'route' => $route,
44-
'_controller' => RedirectController::class.'::redirectAction',
46+
'_controller' => RedirectController::class.'::redirectAction',
47+
'route' => $route,
4548
]);
4649
}
4750

@@ -50,10 +53,10 @@ final public function redirectToRoute(string $route): RedirectRouteConfigurator
5053
*/
5154
final public function redirectToUrl(string $url): UrlRedirectRouteConfigurator
5255
{
53-
return (UrlRedirectRouteConfigurator::clone($this))
56+
return (new UrlRedirectRouteConfigurator($this->collection, $this->route, $this->name, $this->parentConfigurator, $this->prefixes))
5457
->defaults([
55-
'path' => $url,
56-
'_controller' => RedirectController::class.'::urlRedirectAction',
58+
'_controller' => RedirectController::class.'::urlRedirectAction',
59+
'path' => $url,
5760
]);
5861
}
5962
}

src/Symfony/Bundle/FrameworkBundle/Routing/Loader/Configurator/RoutingConfigurator.php

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,10 @@
1111

1212
namespace Symfony\Bundle\FrameworkBundle\Routing\Loader\Configurator;
1313

14-
use Symfony\Component\Routing\Loader\Configurator\RouteConfigurator as BaseRouteConfigurator;
14+
use Symfony\Bundle\FrameworkBundle\Routing\Loader\Configurator\Traits\AddTrait;
1515
use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator as BaseRoutingConfigurator;
1616

17-
/**
18-
* @author Jules Pietri <jules@heahprod.com>
19-
*/
2017
class RoutingConfigurator extends BaseRoutingConfigurator
2118
{
22-
/**
23-
* @return RouteConfigurator
24-
*/
25-
public function add(string $name, $path): BaseRouteConfigurator
26-
{
27-
return RouteConfigurator::clone(parent::add($name, $path));
28-
}
19+
use AddTrait;
2920
}

src/Symfony/Bundle/FrameworkBundle/Routing/Loader/Configurator/TemplateRouteConfigurator.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111

1212
namespace Symfony\Bundle\FrameworkBundle\Routing\Loader\Configurator;
1313

14-
use Symfony\Component\Routing\Loader\Configurator\RouteConfigurator;
15-
1614
/**
1715
* @author Jules Pietri <jules@heahprod.com>
1816
*/
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the Symfony package.
5+
*
6+
* (c) Fabien Potencier <fabien@symfony.com>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Symfony\Bundle\FrameworkBundle\Routing\Loader\Configurator\Traits;
13+
14+
use Symfony\Bundle\FrameworkBundle\Routing\Loader\Configurator\RouteConfigurator;
15+
use Symfony\Component\Routing\Loader\Configurator\CollectionConfigurator;
16+
use Symfony\Component\Routing\Loader\Configurator\RouteConfigurator as BaseRouteConfigurator;
17+
18+
trait AddTrait
19+
{
20+
/**
21+
* Adds a route.
22+
*
23+
* @param string|array $path the path, or the localized paths of the route
24+
*/
25+
public function add(string $name, $path): BaseRouteConfigurator
26+
{
27+
$parentConfigurator = $this instanceof CollectionConfigurator ? $this : ($this instanceof RouteConfigurator ? $this->parentConfigurator : null);
28+
$route = $this->createLocalizedRoute($this->collection, $name, $path, $this->name, $this->prefixes);
29+
30+
return new RouteConfigurator($this->collection, $route, $this->name, $parentConfigurator, $this->prefixes);
31+
}
32+
}

src/Symfony/Component/Routing/Loader/Configurator/RouteConfigurator.php

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class RouteConfigurator
2121
use Traits\AddTrait;
2222
use Traits\RouteTrait;
2323

24-
private $parentConfigurator;
24+
protected $parentConfigurator;
2525

2626
public function __construct(RouteCollection $collection, $route, string $name = '', CollectionConfigurator $parentConfigurator = null, array $prefixes = null)
2727
{
@@ -31,9 +31,4 @@ public function __construct(RouteCollection $collection, $route, string $name =
3131
$this->parentConfigurator = $parentConfigurator; // for GC control
3232
$this->prefixes = $prefixes;
3333
}
34-
35-
final public static function clone(self $configurator): self
36-
{
37-
return new static($configurator->collection, $configurator->route, $configurator->name, $configurator->parentConfigurator, $configurator->prefixes);
38-
}
3934
}

src/Symfony/Component/Routing/Loader/Configurator/Traits/AddTrait.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ trait AddTrait
2525
/**
2626
* @var RouteCollection
2727
*/
28-
private $collection;
29-
private $name = '';
30-
private $prefixes;
28+
protected $collection;
29+
protected $name = '';
30+
protected $prefixes;
3131

3232
/**
3333
* Adds a route.

src/Symfony/Component/Routing/Loader/Configurator/Traits/RouteTrait.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ trait RouteTrait
1919
/**
2020
* @var RouteCollection|Route
2121
*/
22-
private $route;
22+
protected $route;
2323

2424
/**
2525
* Adds defaults.

0 commit comments

Comments
 (0)