diff --git a/src/Symfony/Component/Routing/Loader/AnnotationClassLoader.php b/src/Symfony/Component/Routing/Loader/AnnotationClassLoader.php index 4e9504f713..f0c6573d41 100644 --- a/src/Symfony/Component/Routing/Loader/AnnotationClassLoader.php +++ b/src/Symfony/Component/Routing/Loader/AnnotationClassLoader.php @@ -74,10 +74,8 @@ abstract class AnnotationClassLoader implements LoaderInterface /** * Sets the annotation class to read route properties from. - * - * @param string $class A fully-qualified class name */ - public function setRouteAnnotationClass($class) + public function setRouteAnnotationClass(string $class) { $this->routeAnnotationClass = $class; } @@ -85,8 +83,7 @@ abstract class AnnotationClassLoader implements LoaderInterface /** * Loads from annotations from a class. * - * @param string $class A class name - * @param string|null $type The resource type + * @param string $class A class name * * @return RouteCollection A RouteCollection instance * @@ -129,7 +126,7 @@ abstract class AnnotationClassLoader implements LoaderInterface return $collection; } - protected function addRoute(RouteCollection $collection, $annot, $globals, \ReflectionClass $class, \ReflectionMethod $method) + protected function addRoute(RouteCollection $collection, $annot, array $globals, \ReflectionClass $class, \ReflectionMethod $method) { $name = $annot->getName(); if (null === $name) { @@ -217,7 +214,7 @@ abstract class AnnotationClassLoader implements LoaderInterface /** * {@inheritdoc} */ - public function supports($resource, $type = null) + public function supports($resource, string $type = null) { return \is_string($resource) && preg_match('/^(?:\\\\?[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)+$/', $resource) && (!$type || 'annotation' === $type); } @@ -306,7 +303,7 @@ abstract class AnnotationClassLoader implements LoaderInterface return $globals; } - private function resetGlobals() + private function resetGlobals(): array { return [ 'path' => null, @@ -322,7 +319,7 @@ abstract class AnnotationClassLoader implements LoaderInterface ]; } - protected function createRoute($path, $defaults, $requirements, $options, $host, $schemes, $methods, $condition) + protected function createRoute(string $path, array $defaults, array $requirements, array $options, ?string $host, array $schemes, array $methods, ?string $condition) { return new Route($path, $defaults, $requirements, $options, $host, $schemes, $methods, $condition); } diff --git a/src/Symfony/Component/Routing/Loader/AnnotationFileLoader.php b/src/Symfony/Component/Routing/Loader/AnnotationFileLoader.php index c6868a6e81..c183d77fc7 100644 --- a/src/Symfony/Component/Routing/Loader/AnnotationFileLoader.php +++ b/src/Symfony/Component/Routing/Loader/AnnotationFileLoader.php @@ -81,11 +81,9 @@ class AnnotationFileLoader extends FileLoader /** * Returns the full class name for the first class in the file. * - * @param string $file A PHP file path - * * @return string|false Full class name if found, false otherwise */ - protected function findClass($file) + protected function findClass(string $file) { $class = false; $namespace = false; diff --git a/src/Symfony/Component/Routing/Loader/Configurator/RoutingConfigurator.php b/src/Symfony/Component/Routing/Loader/Configurator/RoutingConfigurator.php index f9c347e81a..ef53d44204 100644 --- a/src/Symfony/Component/Routing/Loader/Configurator/RoutingConfigurator.php +++ b/src/Symfony/Component/Routing/Loader/Configurator/RoutingConfigurator.php @@ -33,7 +33,7 @@ class RoutingConfigurator $this->file = $file; } - final public function import($resource, $type = null, $ignoreErrors = false): ImportConfigurator + final public function import($resource, string $type = null, bool $ignoreErrors = false): ImportConfigurator { $this->loader->setCurrentDir(\dirname($this->path)); $imported = $this->loader->import($resource, $type, $ignoreErrors, $this->file); @@ -49,7 +49,7 @@ class RoutingConfigurator return new ImportConfigurator($this->collection, $mergedCollection); } - final public function collection($name = ''): CollectionConfigurator + final public function collection(string $name = ''): CollectionConfigurator { return new CollectionConfigurator($this->collection, $name); } diff --git a/src/Symfony/Component/Routing/Loader/XmlFileLoader.php b/src/Symfony/Component/Routing/Loader/XmlFileLoader.php index 862cf37691..d694d407d0 100644 --- a/src/Symfony/Component/Routing/Loader/XmlFileLoader.php +++ b/src/Symfony/Component/Routing/Loader/XmlFileLoader.php @@ -69,7 +69,7 @@ class XmlFileLoader extends FileLoader * * @throws \InvalidArgumentException When the XML is invalid */ - protected function parseNode(RouteCollection $collection, \DOMElement $node, $path, $file) + protected function parseNode(RouteCollection $collection, \DOMElement $node, string $path, string $file) { if (self::NAMESPACE_URI !== $node->namespaceURI) { return; @@ -103,7 +103,7 @@ class XmlFileLoader extends FileLoader * * @throws \InvalidArgumentException When the XML is invalid */ - protected function parseRoute(RouteCollection $collection, \DOMElement $node, $path) + protected function parseRoute(RouteCollection $collection, \DOMElement $node, string $path) { if ('' === $id = $node->getAttribute('id')) { throw new \InvalidArgumentException(sprintf('The element in file "%s" must have an "id" attribute.', $path)); @@ -144,7 +144,7 @@ class XmlFileLoader extends FileLoader * * @throws \InvalidArgumentException When the XML is invalid */ - protected function parseImport(RouteCollection $collection, \DOMElement $node, $path, $file) + protected function parseImport(RouteCollection $collection, \DOMElement $node, string $path, string $file) { if ('' === $resource = $node->getAttribute('resource')) { throw new \InvalidArgumentException(sprintf('The element in file "%s" must have a "resource" attribute.', $path)); @@ -242,7 +242,7 @@ class XmlFileLoader extends FileLoader * or when the XML structure is not as expected by the scheme - * see validate() */ - protected function loadFile($file) + protected function loadFile(string $file) { return XmlUtils::loadFile($file, __DIR__.static::SCHEME_PATH); } diff --git a/src/Symfony/Component/Routing/Loader/YamlFileLoader.php b/src/Symfony/Component/Routing/Loader/YamlFileLoader.php index 04868b5f19..0549f50321 100644 --- a/src/Symfony/Component/Routing/Loader/YamlFileLoader.php +++ b/src/Symfony/Component/Routing/Loader/YamlFileLoader.php @@ -93,7 +93,7 @@ class YamlFileLoader extends FileLoader /** * {@inheritdoc} */ - public function supports($resource, $type = null) + public function supports($resource, string $type = null) { return \is_string($resource) && \in_array(pathinfo($resource, PATHINFO_EXTENSION), ['yml', 'yaml'], true) && (!$type || 'yaml' === $type); } @@ -105,7 +105,7 @@ class YamlFileLoader extends FileLoader * @param array $config Route definition * @param string $path Full path of the YAML file being processed */ - protected function parseRoute(RouteCollection $collection, $name, array $config, $path) + protected function parseRoute(RouteCollection $collection, string $name, array $config, string $path) { $defaults = isset($config['defaults']) ? $config['defaults'] : []; $requirements = isset($config['requirements']) ? $config['requirements'] : []; @@ -157,7 +157,7 @@ class YamlFileLoader extends FileLoader * @param string $path Full path of the YAML file being processed * @param string $file Loaded file name */ - protected function parseImport(RouteCollection $collection, array $config, $path, $file) + protected function parseImport(RouteCollection $collection, array $config, string $path, string $file) { $type = isset($config['type']) ? $config['type'] : null; $prefix = isset($config['prefix']) ? $config['prefix'] : ''; @@ -260,7 +260,7 @@ class YamlFileLoader extends FileLoader * @throws \InvalidArgumentException If one of the provided config keys is not supported, * something is missing or the combination is nonsense */ - protected function validate($config, $name, $path) + protected function validate($config, string $name, string $path) { if (!\is_array($config)) { throw new \InvalidArgumentException(sprintf('The definition of "%s" in "%s" must be a YAML array.', $name, $path)); diff --git a/src/Symfony/Component/Routing/Matcher/Dumper/CompiledUrlMatcherTrait.php b/src/Symfony/Component/Routing/Matcher/Dumper/CompiledUrlMatcherTrait.php index 0528a7b213..a725fd80dc 100644 --- a/src/Symfony/Component/Routing/Matcher/Dumper/CompiledUrlMatcherTrait.php +++ b/src/Symfony/Component/Routing/Matcher/Dumper/CompiledUrlMatcherTrait.php @@ -32,7 +32,7 @@ trait CompiledUrlMatcherTrait private $dynamicRoutes = []; private $checkCondition; - public function match($pathinfo) + public function match(string $pathinfo) { $allow = $allowSchemes = []; if ($ret = $this->doMatch($pathinfo, $allow, $allowSchemes)) { diff --git a/src/Symfony/Component/Routing/Matcher/TraceableUrlMatcher.php b/src/Symfony/Component/Routing/Matcher/TraceableUrlMatcher.php index 070fea1523..4565815975 100644 --- a/src/Symfony/Component/Routing/Matcher/TraceableUrlMatcher.php +++ b/src/Symfony/Component/Routing/Matcher/TraceableUrlMatcher.php @@ -29,7 +29,7 @@ class TraceableUrlMatcher extends UrlMatcher protected $traces; - public function getTraces($pathinfo) + public function getTraces(string $pathinfo) { $this->traces = []; @@ -50,7 +50,7 @@ class TraceableUrlMatcher extends UrlMatcher return $traces; } - protected function matchCollection($pathinfo, RouteCollection $routes) + protected function matchCollection(string $pathinfo, RouteCollection $routes) { foreach ($routes as $name => $route) { $compiledRoute = $route->compile(); diff --git a/src/Symfony/Component/Routing/Matcher/UrlMatcher.php b/src/Symfony/Component/Routing/Matcher/UrlMatcher.php index 0d3af972a4..ceadb515fe 100644 --- a/src/Symfony/Component/Routing/Matcher/UrlMatcher.php +++ b/src/Symfony/Component/Routing/Matcher/UrlMatcher.php @@ -128,7 +128,7 @@ class UrlMatcher implements UrlMatcherInterface, RequestMatcherInterface * @throws ResourceNotFoundException If the resource could not be found * @throws MethodNotAllowedException If the resource was found but the request method is not allowed */ - protected function matchCollection($pathinfo, RouteCollection $routes) + protected function matchCollection(string $pathinfo, RouteCollection $routes) { // HEAD and GET are equivalent as per RFC if ('HEAD' === $method = $this->context->getMethod()) { @@ -207,12 +207,9 @@ class UrlMatcher implements UrlMatcherInterface, RequestMatcherInterface * in matchers that do not have access to the matched Route instance * (like the PHP and Apache matcher dumpers). * - * @param string $name The name of the route - * @param array $attributes An array of attributes from the matcher - * * @return array An array of parameters */ - protected function getAttributes(Route $route, $name, array $attributes) + protected function getAttributes(Route $route, string $name, array $attributes) { $defaults = $route->getDefaults(); if (isset($defaults['_canonical_route'])) { @@ -227,12 +224,9 @@ class UrlMatcher implements UrlMatcherInterface, RequestMatcherInterface /** * Handles specific route requirements. * - * @param string $pathinfo The path - * @param string $name The route name - * * @return array The first element represents the status, the second contains additional information */ - protected function handleRouteRequirements($pathinfo, $name, Route $route) + protected function handleRouteRequirements(string $pathinfo, string $name, Route $route) { // expression condition if ($route->getCondition() && !$this->getExpressionLanguage()->evaluate($route->getCondition(), ['context' => $this->context, 'request' => $this->request ?: $this->createRequest($pathinfo)])) { @@ -245,12 +239,9 @@ class UrlMatcher implements UrlMatcherInterface, RequestMatcherInterface /** * Get merged default parameters. * - * @param array $params The parameters - * @param array $defaults The defaults - * * @return array Merged default parameters */ - protected function mergeDefaults($params, $defaults) + protected function mergeDefaults(array $params, array $defaults) { foreach ($params as $key => $value) { if (!\is_int($key) && null !== $value) { @@ -276,7 +267,7 @@ class UrlMatcher implements UrlMatcherInterface, RequestMatcherInterface /** * @internal */ - protected function createRequest($pathinfo) + protected function createRequest(string $pathinfo) { if (!class_exists('Symfony\Component\HttpFoundation\Request')) { return null; diff --git a/src/Symfony/Component/Routing/RouteCollectionBuilder.php b/src/Symfony/Component/Routing/RouteCollectionBuilder.php index 92cf7e7938..406e3c0acb 100644 --- a/src/Symfony/Component/Routing/RouteCollectionBuilder.php +++ b/src/Symfony/Component/Routing/RouteCollectionBuilder.php @@ -48,15 +48,13 @@ class RouteCollectionBuilder * * $routes->import('blog.yml', '/blog'); * - * @param mixed $resource - * @param string|null $prefix - * @param string $type + * @param mixed $resource * * @return self * * @throws LoaderLoadException */ - public function import($resource, $prefix = '/', $type = null) + public function import($resource, string $prefix = '/', string $type = null) { /** @var RouteCollection[] $collections */ $collections = $this->load($resource, $type); @@ -87,13 +85,9 @@ class RouteCollectionBuilder /** * Adds a route and returns it for future modification. * - * @param string $path The route path - * @param string $controller The route's controller - * @param string|null $name The name to give this route - * * @return Route */ - public function add($path, $controller, $name = null) + public function add(string $path, string $controller, string $name = null) { $route = new Route($path); $route->setDefault('_controller', $controller); @@ -114,10 +108,8 @@ class RouteCollectionBuilder /** * Add a RouteCollectionBuilder. - * - * @param string $prefix */ - public function mount($prefix, self $builder) + public function mount(string $prefix, self $builder) { $builder->prefix = trim(trim($prefix), '/'); $this->routes[] = $builder; @@ -126,11 +118,9 @@ class RouteCollectionBuilder /** * Adds a Route object to the builder. * - * @param string|null $name - * * @return $this */ - public function addRoute(Route $route, $name = null) + public function addRoute(Route $route, string $name = null) { if (null === $name) { // used as a flag to know which routes will need a name later @@ -145,11 +135,9 @@ class RouteCollectionBuilder /** * Sets the host on all embedded routes (unless already set). * - * @param string $pattern - * * @return $this */ - public function setHost($pattern) + public function setHost(?string $pattern) { $this->host = $pattern; @@ -159,11 +147,9 @@ class RouteCollectionBuilder /** * Sets a condition on all embedded routes (unless already set). * - * @param string $condition - * * @return $this */ - public function setCondition($condition) + public function setCondition(?string $condition) { $this->condition = $condition; @@ -174,12 +160,11 @@ class RouteCollectionBuilder * Sets a default value that will be added to all embedded routes (unless that * default value is already set). * - * @param string $key - * @param mixed $value + * @param mixed $value * * @return $this */ - public function setDefault($key, $value) + public function setDefault(string $key, $value) { $this->defaults[$key] = $value; @@ -190,12 +175,11 @@ class RouteCollectionBuilder * Sets a requirement that will be added to all embedded routes (unless that * requirement is already set). * - * @param string $key - * @param mixed $regex + * @param mixed $regex * * @return $this */ - public function setRequirement($key, $regex) + public function setRequirement(string $key, $regex) { $this->requirements[$key] = $regex; @@ -206,12 +190,11 @@ class RouteCollectionBuilder * Sets an option that will be added to all embedded routes (unless that * option is already set). * - * @param string $key - * @param mixed $value + * @param mixed $value * * @return $this */ - public function setOption($key, $value) + public function setOption(string $key, $value) { $this->options[$key] = $value; diff --git a/src/Symfony/Component/Routing/Tests/Fixtures/CustomXmlFileLoader.php b/src/Symfony/Component/Routing/Tests/Fixtures/CustomXmlFileLoader.php index b7a02b60b0..727ac07a99 100644 --- a/src/Symfony/Component/Routing/Tests/Fixtures/CustomXmlFileLoader.php +++ b/src/Symfony/Component/Routing/Tests/Fixtures/CustomXmlFileLoader.php @@ -19,7 +19,7 @@ use Symfony\Component\Routing\Loader\XmlFileLoader; */ class CustomXmlFileLoader extends XmlFileLoader { - protected function loadFile($file) + protected function loadFile(string $file) { return XmlUtils::loadFile($file, function () { return true; }); } diff --git a/src/Symfony/Component/Routing/Tests/Loader/FileLocatorStub.php b/src/Symfony/Component/Routing/Tests/Loader/FileLocatorStub.php index 870c3cf4f4..c324592ff8 100644 --- a/src/Symfony/Component/Routing/Tests/Loader/FileLocatorStub.php +++ b/src/Symfony/Component/Routing/Tests/Loader/FileLocatorStub.php @@ -6,7 +6,7 @@ use Symfony\Component\Config\FileLocatorInterface; class FileLocatorStub implements FileLocatorInterface { - public function locate($name, $currentPath = null, $first = true) + public function locate(string $name, string $currentPath = null, bool $first = true) { if (0 === strpos($name, 'http')) { return $name; diff --git a/src/Symfony/Component/Routing/Tests/Loader/GlobFileLoaderTest.php b/src/Symfony/Component/Routing/Tests/Loader/GlobFileLoaderTest.php index e4e12b8815..e68d9a08e2 100644 --- a/src/Symfony/Component/Routing/Tests/Loader/GlobFileLoaderTest.php +++ b/src/Symfony/Component/Routing/Tests/Loader/GlobFileLoaderTest.php @@ -38,7 +38,7 @@ class GlobFileLoaderTest extends TestCase class GlobFileLoaderWithoutImport extends GlobFileLoader { - public function import($resource, $type = null, $ignoreErrors = false, $sourceResource = null) + public function import($resource, string $type = null, bool $ignoreErrors = false, string $sourceResource = null) { return new RouteCollection(); } diff --git a/src/Symfony/Component/Routing/Tests/Loader/ObjectLoaderTest.php b/src/Symfony/Component/Routing/Tests/Loader/ObjectLoaderTest.php index bf94ef34ae..ecb53626fb 100644 --- a/src/Symfony/Component/Routing/Tests/Loader/ObjectLoaderTest.php +++ b/src/Symfony/Component/Routing/Tests/Loader/ObjectLoaderTest.php @@ -98,7 +98,7 @@ class TestObjectLoader extends ObjectLoader { public $loaderMap = []; - public function supports($resource, $type = null) + public function supports($resource, string $type = null) { return 'service'; }