RouteConfigurator.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. /*
  3. * This file is part of the Symfony package.
  4. *
  5. * (c) Fabien Potencier <fabien@symfony.com>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. namespace Symfony\Component\Routing\Loader\Configurator;
  11. use Symfony\Component\Routing\RouteCollection;
  12. /**
  13. * @author Nicolas Grekas <p@tchwork.com>
  14. */
  15. class RouteConfigurator
  16. {
  17. use Traits\AddTrait;
  18. use Traits\HostTrait;
  19. use Traits\RouteTrait;
  20. protected $parentConfigurator;
  21. public function __construct(RouteCollection $collection, $route, string $name = '', CollectionConfigurator $parentConfigurator = null, array $prefixes = null)
  22. {
  23. $this->collection = $collection;
  24. $this->route = $route;
  25. $this->name = $name;
  26. $this->parentConfigurator = $parentConfigurator; // for GC control
  27. $this->prefixes = $prefixes;
  28. }
  29. /**
  30. * Sets the host to use for all child routes.
  31. *
  32. * @param string|array $host the host, or the localized hosts
  33. *
  34. * @return $this
  35. */
  36. final public function host($host): self
  37. {
  38. $this->addHost($this->route, $host);
  39. return $this;
  40. }
  41. }