| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272 | 
							- <?php
 
- /*
 
-  * This file is part of the Symfony package.
 
-  *
 
-  * (c) Fabien Potencier <fabien@symfony.com>
 
-  *
 
-  * For the full copyright and license information, please view the LICENSE
 
-  * file that was distributed with this source code.
 
-  */
 
- namespace Symfony\Component\Routing\Annotation;
 
- /**
 
-  * Annotation class for @Route().
 
-  *
 
-  * @Annotation
 
-  * @NamedArgumentConstructor
 
-  * @Target({"CLASS", "METHOD"})
 
-  *
 
-  * @author Fabien Potencier <fabien@symfony.com>
 
-  * @author Alexander M. Turek <me@derrabus.de>
 
-  */
 
- #[\Attribute(\Attribute::IS_REPEATABLE | \Attribute::TARGET_CLASS | \Attribute::TARGET_METHOD)]
 
- class Route
 
- {
 
-     private $path;
 
-     private $localizedPaths = [];
 
-     private $name;
 
-     private $requirements = [];
 
-     private $options = [];
 
-     private $defaults = [];
 
-     private $host;
 
-     private $methods = [];
 
-     private $schemes = [];
 
-     private $condition;
 
-     private $priority;
 
-     private $env;
 
-     /**
 
-      * @param array|string      $data         data array managed by the Doctrine Annotations library or the path
 
-      * @param array|string|null $path
 
-      * @param string[]          $requirements
 
-      * @param string[]|string   $methods
 
-      * @param string[]|string   $schemes
 
-      *
 
-      * @throws \BadMethodCallException
 
-      */
 
-     public function __construct(
 
-         $data = [],
 
-         $path = null,
 
-         ?string $name = null,
 
-         array $requirements = [],
 
-         array $options = [],
 
-         array $defaults = [],
 
-         ?string $host = null,
 
-         $methods = [],
 
-         $schemes = [],
 
-         ?string $condition = null,
 
-         ?int $priority = null,
 
-         ?string $locale = null,
 
-         ?string $format = null,
 
-         ?bool $utf8 = null,
 
-         ?bool $stateless = null,
 
-         ?string $env = null
 
-     ) {
 
-         if (\is_string($data)) {
 
-             $data = ['path' => $data];
 
-         } elseif (!\is_array($data)) {
 
-             throw new \TypeError(sprintf('"%s": Argument $data is expected to be a string or array, got "%s".', __METHOD__, get_debug_type($data)));
 
-         } elseif ([] !== $data) {
 
-             $deprecation = false;
 
-             foreach ($data as $key => $val) {
 
-                 if (\in_array($key, ['path', 'name', 'requirements', 'options', 'defaults', 'host', 'methods', 'schemes', 'condition', 'priority', 'locale', 'format', 'utf8', 'stateless', 'env', 'value'])) {
 
-                     $deprecation = true;
 
-                 }
 
-             }
 
-             if ($deprecation) {
 
-                 trigger_deprecation('symfony/routing', '5.3', 'Passing an array as first argument to "%s" is deprecated. Use named arguments instead.', __METHOD__);
 
-             } else {
 
-                 $localizedPaths = $data;
 
-                 $data = ['path' => $localizedPaths];
 
-             }
 
-         }
 
-         if (null !== $path && !\is_string($path) && !\is_array($path)) {
 
-             throw new \TypeError(sprintf('"%s": Argument $path is expected to be a string, array or null, got "%s".', __METHOD__, get_debug_type($path)));
 
-         }
 
-         $data['path'] = $data['path'] ?? $path;
 
-         $data['name'] = $data['name'] ?? $name;
 
-         $data['requirements'] = $data['requirements'] ?? $requirements;
 
-         $data['options'] = $data['options'] ?? $options;
 
-         $data['defaults'] = $data['defaults'] ?? $defaults;
 
-         $data['host'] = $data['host'] ?? $host;
 
-         $data['methods'] = $data['methods'] ?? $methods;
 
-         $data['schemes'] = $data['schemes'] ?? $schemes;
 
-         $data['condition'] = $data['condition'] ?? $condition;
 
-         $data['priority'] = $data['priority'] ?? $priority;
 
-         $data['locale'] = $data['locale'] ?? $locale;
 
-         $data['format'] = $data['format'] ?? $format;
 
-         $data['utf8'] = $data['utf8'] ?? $utf8;
 
-         $data['stateless'] = $data['stateless'] ?? $stateless;
 
-         $data['env'] = $data['env'] ?? $env;
 
-         $data = array_filter($data, static function ($value): bool {
 
-             return null !== $value;
 
-         });
 
-         if (isset($data['localized_paths'])) {
 
-             throw new \BadMethodCallException(sprintf('Unknown property "localized_paths" on annotation "%s".', static::class));
 
-         }
 
-         if (isset($data['value'])) {
 
-             $data[\is_array($data['value']) ? 'localized_paths' : 'path'] = $data['value'];
 
-             unset($data['value']);
 
-         }
 
-         if (isset($data['path']) && \is_array($data['path'])) {
 
-             $data['localized_paths'] = $data['path'];
 
-             unset($data['path']);
 
-         }
 
-         if (isset($data['locale'])) {
 
-             $data['defaults']['_locale'] = $data['locale'];
 
-             unset($data['locale']);
 
-         }
 
-         if (isset($data['format'])) {
 
-             $data['defaults']['_format'] = $data['format'];
 
-             unset($data['format']);
 
-         }
 
-         if (isset($data['utf8'])) {
 
-             $data['options']['utf8'] = filter_var($data['utf8'], \FILTER_VALIDATE_BOOLEAN) ?: false;
 
-             unset($data['utf8']);
 
-         }
 
-         if (isset($data['stateless'])) {
 
-             $data['defaults']['_stateless'] = filter_var($data['stateless'], \FILTER_VALIDATE_BOOLEAN) ?: false;
 
-             unset($data['stateless']);
 
-         }
 
-         foreach ($data as $key => $value) {
 
-             $method = 'set'.str_replace('_', '', $key);
 
-             if (!method_exists($this, $method)) {
 
-                 throw new \BadMethodCallException(sprintf('Unknown property "%s" on annotation "%s".', $key, static::class));
 
-             }
 
-             $this->$method($value);
 
-         }
 
-     }
 
-     public function setPath(string $path)
 
-     {
 
-         $this->path = $path;
 
-     }
 
-     public function getPath()
 
-     {
 
-         return $this->path;
 
-     }
 
-     public function setLocalizedPaths(array $localizedPaths)
 
-     {
 
-         $this->localizedPaths = $localizedPaths;
 
-     }
 
-     public function getLocalizedPaths(): array
 
-     {
 
-         return $this->localizedPaths;
 
-     }
 
-     public function setHost(string $pattern)
 
-     {
 
-         $this->host = $pattern;
 
-     }
 
-     public function getHost()
 
-     {
 
-         return $this->host;
 
-     }
 
-     public function setName(string $name)
 
-     {
 
-         $this->name = $name;
 
-     }
 
-     public function getName()
 
-     {
 
-         return $this->name;
 
-     }
 
-     public function setRequirements(array $requirements)
 
-     {
 
-         $this->requirements = $requirements;
 
-     }
 
-     public function getRequirements()
 
-     {
 
-         return $this->requirements;
 
-     }
 
-     public function setOptions(array $options)
 
-     {
 
-         $this->options = $options;
 
-     }
 
-     public function getOptions()
 
-     {
 
-         return $this->options;
 
-     }
 
-     public function setDefaults(array $defaults)
 
-     {
 
-         $this->defaults = $defaults;
 
-     }
 
-     public function getDefaults()
 
-     {
 
-         return $this->defaults;
 
-     }
 
-     public function setSchemes($schemes)
 
-     {
 
-         $this->schemes = \is_array($schemes) ? $schemes : [$schemes];
 
-     }
 
-     public function getSchemes()
 
-     {
 
-         return $this->schemes;
 
-     }
 
-     public function setMethods($methods)
 
-     {
 
-         $this->methods = \is_array($methods) ? $methods : [$methods];
 
-     }
 
-     public function getMethods()
 
-     {
 
-         return $this->methods;
 
-     }
 
-     public function setCondition(?string $condition)
 
-     {
 
-         $this->condition = $condition;
 
-     }
 
-     public function getCondition()
 
-     {
 
-         return $this->condition;
 
-     }
 
-     public function setPriority(int $priority): void
 
-     {
 
-         $this->priority = $priority;
 
-     }
 
-     public function getPriority(): ?int
 
-     {
 
-         return $this->priority;
 
-     }
 
-     public function setEnv(?string $env): void
 
-     {
 
-         $this->env = $env;
 
-     }
 
-     public function getEnv(): ?string
 
-     {
 
-         return $this->env;
 
-     }
 
- }
 
 
  |