diff --git a/src/Symfony/Component/Routing/Exception/MethodNotAllowedException.php b/src/Symfony/Component/Routing/Exception/MethodNotAllowedException.php index 470ce52216..32f109137f 100644 --- a/src/Symfony/Component/Routing/Exception/MethodNotAllowedException.php +++ b/src/Symfony/Component/Routing/Exception/MethodNotAllowedException.php @@ -22,7 +22,10 @@ namespace Symfony\Component\Routing\Exception; */ class MethodNotAllowedException extends \RuntimeException implements ExceptionInterface { - protected $allowedMethods; + /** + * @var array + */ + protected $allowedMethods = array(); public function __construct(array $allowedMethods, $message = null, $code = 0, \Exception $previous = null) { @@ -31,6 +34,11 @@ class MethodNotAllowedException extends \RuntimeException implements ExceptionIn parent::__construct($message, $code, $previous); } + /** + * Gets the allowed HTTP methods. + * + * @return array + */ public function getAllowedMethods() { return $this->allowedMethods; diff --git a/src/Symfony/Component/Routing/Generator/Dumper/GeneratorDumper.php b/src/Symfony/Component/Routing/Generator/Dumper/GeneratorDumper.php index 408be9c6ab..4739bd8365 100644 --- a/src/Symfony/Component/Routing/Generator/Dumper/GeneratorDumper.php +++ b/src/Symfony/Component/Routing/Generator/Dumper/GeneratorDumper.php @@ -20,6 +20,9 @@ use Symfony\Component\Routing\RouteCollection; */ abstract class GeneratorDumper implements GeneratorDumperInterface { + /** + * @var RouteCollection + */ private $routes; /** diff --git a/src/Symfony/Component/Routing/Generator/UrlGenerator.php b/src/Symfony/Component/Routing/Generator/UrlGenerator.php index 535e363e88..2c510a5e32 100644 --- a/src/Symfony/Component/Routing/Generator/UrlGenerator.php +++ b/src/Symfony/Component/Routing/Generator/UrlGenerator.php @@ -28,8 +28,24 @@ use Symfony\Component\HttpKernel\Log\LoggerInterface; */ class UrlGenerator implements UrlGeneratorInterface, ConfigurableRequirementsInterface { + /** + * @var RouteCollection + */ + protected $routes; + + /** + * @var RequestContext + */ protected $context; + + /** + * @var Boolean|null + */ protected $strictRequirements = true; + + /** + * @var LoggerInterface|null + */ protected $logger; /** @@ -60,14 +76,12 @@ class UrlGenerator implements UrlGeneratorInterface, ConfigurableRequirementsInt '%7C' => '|', ); - protected $routes; - /** * Constructor. * - * @param RouteCollection $routes A RouteCollection instance - * @param RequestContext $context The context - * @param LoggerInterface $logger A logger instance + * @param RouteCollection $routes A RouteCollection instance + * @param RequestContext $context The context + * @param LoggerInterface|null $logger A logger instance * * @api */ diff --git a/src/Symfony/Component/Routing/Loader/AnnotationClassLoader.php b/src/Symfony/Component/Routing/Loader/AnnotationClassLoader.php index 7fb66a6124..9b628d6658 100644 --- a/src/Symfony/Component/Routing/Loader/AnnotationClassLoader.php +++ b/src/Symfony/Component/Routing/Loader/AnnotationClassLoader.php @@ -56,9 +56,20 @@ use Symfony\Component\Config\Loader\LoaderResolverInterface; */ abstract class AnnotationClassLoader implements LoaderInterface { + /** + * @var Reader + */ protected $reader; + + /** + * @var string + */ protected $routeAnnotationClass = 'Symfony\\Component\\Routing\\Annotation\\Route'; - protected $defaultRouteIndex; + + /** + * @var integer + */ + protected $defaultRouteIndex = 0; /** * Constructor. @@ -83,8 +94,8 @@ abstract class AnnotationClassLoader implements LoaderInterface /** * Loads from annotations from a class. * - * @param string $class A class name - * @param string $type The resource type + * @param string $class A class name + * @param string|null $type The resource type * * @return RouteCollection A RouteCollection instance * diff --git a/src/Symfony/Component/Routing/Loader/AnnotationDirectoryLoader.php b/src/Symfony/Component/Routing/Loader/AnnotationDirectoryLoader.php index f549fd0fb7..abd68ed6c4 100644 --- a/src/Symfony/Component/Routing/Loader/AnnotationDirectoryLoader.php +++ b/src/Symfony/Component/Routing/Loader/AnnotationDirectoryLoader.php @@ -25,8 +25,8 @@ class AnnotationDirectoryLoader extends AnnotationFileLoader /** * Loads from annotations from a directory. * - * @param string $path A directory path - * @param string $type The resource type + * @param string $path A directory path + * @param string|null $type The resource type * * @return RouteCollection A RouteCollection instance * diff --git a/src/Symfony/Component/Routing/Loader/AnnotationFileLoader.php b/src/Symfony/Component/Routing/Loader/AnnotationFileLoader.php index bb965e9a45..edfe8803f1 100644 --- a/src/Symfony/Component/Routing/Loader/AnnotationFileLoader.php +++ b/src/Symfony/Component/Routing/Loader/AnnotationFileLoader.php @@ -14,7 +14,7 @@ namespace Symfony\Component\Routing\Loader; use Symfony\Component\Routing\RouteCollection; use Symfony\Component\Config\Resource\FileResource; use Symfony\Component\Config\Loader\FileLoader; -use Symfony\Component\Config\FileLocator; +use Symfony\Component\Config\FileLocatorInterface; /** * AnnotationFileLoader loads routing information from annotations set @@ -29,11 +29,11 @@ class AnnotationFileLoader extends FileLoader /** * Constructor. * - * @param FileLocator $locator A FileLocator instance + * @param FileLocatorInterface $locator A FileLocator instance * @param AnnotationClassLoader $loader An AnnotationClassLoader instance * @param string|array $paths A path or an array of paths where to look for resources */ - public function __construct(FileLocator $locator, AnnotationClassLoader $loader, $paths = array()) + public function __construct(FileLocatorInterface $locator, AnnotationClassLoader $loader, $paths = array()) { if (!function_exists('token_get_all')) { throw new \RuntimeException('The Tokenizer extension is required for the routing annotation loaders.'); @@ -47,8 +47,8 @@ class AnnotationFileLoader extends FileLoader /** * Loads from annotations from a file. * - * @param string $file A PHP file path - * @param string $type The resource type + * @param string $file A PHP file path + * @param string|null $type The resource type * * @return RouteCollection A RouteCollection instance * diff --git a/src/Symfony/Component/Routing/Loader/ClosureLoader.php b/src/Symfony/Component/Routing/Loader/ClosureLoader.php index c5ad1e70cc..0ec442d87d 100644 --- a/src/Symfony/Component/Routing/Loader/ClosureLoader.php +++ b/src/Symfony/Component/Routing/Loader/ClosureLoader.php @@ -27,8 +27,8 @@ class ClosureLoader extends Loader /** * Loads a Closure. * - * @param \Closure $closure A Closure - * @param string $type The resource type + * @param \Closure $closure A Closure + * @param string|null $type The resource type * * @api */ diff --git a/src/Symfony/Component/Routing/Loader/PhpFileLoader.php b/src/Symfony/Component/Routing/Loader/PhpFileLoader.php index de2104b8d0..b93dd255b9 100644 --- a/src/Symfony/Component/Routing/Loader/PhpFileLoader.php +++ b/src/Symfony/Component/Routing/Loader/PhpFileLoader.php @@ -28,8 +28,8 @@ class PhpFileLoader extends FileLoader /** * Loads a PHP file. * - * @param mixed $file A PHP file path - * @param string $type The resource type + * @param string $file A PHP file path + * @param string|null $type The resource type * * @api */ diff --git a/src/Symfony/Component/Routing/Loader/XmlFileLoader.php b/src/Symfony/Component/Routing/Loader/XmlFileLoader.php index 9c196a8d07..1b3eb0c15f 100644 --- a/src/Symfony/Component/Routing/Loader/XmlFileLoader.php +++ b/src/Symfony/Component/Routing/Loader/XmlFileLoader.php @@ -28,8 +28,8 @@ class XmlFileLoader extends FileLoader /** * Loads an XML file. * - * @param string $file An XML file path - * @param string $type The resource type + * @param string $file An XML file path + * @param string|null $type The resource type * * @return RouteCollection A RouteCollection instance * @@ -65,6 +65,8 @@ class XmlFileLoader extends FileLoader * @param \DOMElement $node the node to parse * @param string $path the path of the XML file being processed * @param string $file + * + * @throws \InvalidArgumentException When a tag can't be parsed */ protected function parseNode(RouteCollection $collection, \DOMElement $node, $path, $file) { diff --git a/src/Symfony/Component/Routing/Loader/YamlFileLoader.php b/src/Symfony/Component/Routing/Loader/YamlFileLoader.php index cf981d2b57..4a530fbb6a 100644 --- a/src/Symfony/Component/Routing/Loader/YamlFileLoader.php +++ b/src/Symfony/Component/Routing/Loader/YamlFileLoader.php @@ -33,8 +33,8 @@ class YamlFileLoader extends FileLoader /** * Loads a Yaml file. * - * @param string $file A Yaml file path - * @param string $type The resource type + * @param string $file A Yaml file path + * @param string|null $type The resource type * * @return RouteCollection A RouteCollection instance * diff --git a/src/Symfony/Component/Routing/Matcher/Dumper/DumperCollection.php b/src/Symfony/Component/Routing/Matcher/Dumper/DumperCollection.php index 8b36d0896a..612ac0d25a 100644 --- a/src/Symfony/Component/Routing/Matcher/Dumper/DumperCollection.php +++ b/src/Symfony/Component/Routing/Matcher/Dumper/DumperCollection.php @@ -18,14 +18,25 @@ namespace Symfony\Component\Routing\Matcher\Dumper; */ class DumperCollection implements \IteratorAggregate { + /** + * @var DumperCollection|null + */ private $parent; + + /** + * @var (DumperCollection|DumperRoute)[] + */ private $children = array(); + + /** + * @var array + */ private $attributes = array(); /** * Returns the children routes and collections. * - * @return array Array of DumperCollection|DumperRoute + * @return (DumperCollection|DumperRoute)[] Array of DumperCollection|DumperRoute */ public function all() { diff --git a/src/Symfony/Component/Routing/Matcher/Dumper/DumperPrefixCollection.php b/src/Symfony/Component/Routing/Matcher/Dumper/DumperPrefixCollection.php index b9f3bd3a92..2480991ae3 100644 --- a/src/Symfony/Component/Routing/Matcher/Dumper/DumperPrefixCollection.php +++ b/src/Symfony/Component/Routing/Matcher/Dumper/DumperPrefixCollection.php @@ -18,6 +18,9 @@ namespace Symfony\Component\Routing\Matcher\Dumper; */ class DumperPrefixCollection extends DumperCollection { + /** + * @var string + */ private $prefix = ''; /** diff --git a/src/Symfony/Component/Routing/Matcher/Dumper/DumperRoute.php b/src/Symfony/Component/Routing/Matcher/Dumper/DumperRoute.php index 866b61148e..2928cdcc0b 100644 --- a/src/Symfony/Component/Routing/Matcher/Dumper/DumperRoute.php +++ b/src/Symfony/Component/Routing/Matcher/Dumper/DumperRoute.php @@ -20,7 +20,14 @@ use Symfony\Component\Routing\Route; */ class DumperRoute { + /** + * @var string + */ private $name; + + /** + * @var Route + */ private $route; /** diff --git a/src/Symfony/Component/Routing/Matcher/Dumper/MatcherDumper.php b/src/Symfony/Component/Routing/Matcher/Dumper/MatcherDumper.php index 30778cc97a..52edc017e8 100644 --- a/src/Symfony/Component/Routing/Matcher/Dumper/MatcherDumper.php +++ b/src/Symfony/Component/Routing/Matcher/Dumper/MatcherDumper.php @@ -20,6 +20,9 @@ use Symfony\Component\Routing\RouteCollection; */ abstract class MatcherDumper implements MatcherDumperInterface { + /** + * @var RouteCollection + */ private $routes; /** diff --git a/src/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php b/src/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php index 12aa644694..3b5dd7d1ff 100644 --- a/src/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php +++ b/src/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php @@ -324,8 +324,8 @@ EOF; /** * Flattens a tree of routes to a single collection. * - * @param RouteCollection $routes Collection of routes - * @param DumperCollection $to A DumperCollection to add routes to + * @param RouteCollection $routes Collection of routes + * @param DumperCollection|null $to A DumperCollection to add routes to * * @return DumperCollection */ diff --git a/src/Symfony/Component/Routing/Matcher/RedirectableUrlMatcherInterface.php b/src/Symfony/Component/Routing/Matcher/RedirectableUrlMatcherInterface.php index 929ae9cc78..ea91e07511 100644 --- a/src/Symfony/Component/Routing/Matcher/RedirectableUrlMatcherInterface.php +++ b/src/Symfony/Component/Routing/Matcher/RedirectableUrlMatcherInterface.php @@ -23,9 +23,9 @@ interface RedirectableUrlMatcherInterface /** * Redirects the user to another URL. * - * @param string $path The path info to redirect to. - * @param string $route The route that matched - * @param string $scheme The URL scheme (null to keep the current one) + * @param string $path The path info to redirect to. + * @param string $route The route name that matched + * @param string|null $scheme The URL scheme (null to keep the current one) * * @return array An array of parameters * diff --git a/src/Symfony/Component/Routing/Matcher/UrlMatcher.php b/src/Symfony/Component/Routing/Matcher/UrlMatcher.php index 2afe0f738e..5c6985447c 100644 --- a/src/Symfony/Component/Routing/Matcher/UrlMatcher.php +++ b/src/Symfony/Component/Routing/Matcher/UrlMatcher.php @@ -30,9 +30,19 @@ class UrlMatcher implements UrlMatcherInterface const REQUIREMENT_MISMATCH = 1; const ROUTE_MATCH = 2; + /** + * @var RequestContext + */ protected $context; - protected $allow; + /** + * @var array + */ + protected $allow = array(); + + /** + * @var RouteCollection + */ private $routes; /** diff --git a/src/Symfony/Component/Routing/RequestContext.php b/src/Symfony/Component/Routing/RequestContext.php index 7406b20439..1f9cf3c02c 100644 --- a/src/Symfony/Component/Routing/RequestContext.php +++ b/src/Symfony/Component/Routing/RequestContext.php @@ -28,7 +28,11 @@ class RequestContext private $scheme; private $httpPort; private $httpsPort; - private $parameters; + + /** + * @var array + */ + private $parameters = array(); /** * Constructor. @@ -50,7 +54,6 @@ class RequestContext $this->scheme = strtolower($scheme); $this->httpPort = $httpPort; $this->httpsPort = $httpsPort; - $this->parameters = array(); } public function fromRequest(Request $request) diff --git a/src/Symfony/Component/Routing/Route.php b/src/Symfony/Component/Routing/Route.php index a13c3c77b7..c2a68da252 100644 --- a/src/Symfony/Component/Routing/Route.php +++ b/src/Symfony/Component/Routing/Route.php @@ -20,11 +20,34 @@ namespace Symfony\Component\Routing; */ class Route implements \Serializable { + /** + * @var string + */ private $pattern; - private $defaults; - private $requirements; - private $options; + + /** + * @var array + */ + private $defaults = array(); + + /** + * @var array + */ + private $requirements = array(); + + /** + * @var array + */ + private $options = array(); + + /** + * @var null|RouteCompiler + */ private $compiled; + + /** + * @var string + */ private $hostnamePattern; private static $compilers = array(); diff --git a/src/Symfony/Component/Routing/RouteCollection.php b/src/Symfony/Component/Routing/RouteCollection.php index 7fc0304211..5b1eb9ea1b 100644 --- a/src/Symfony/Component/Routing/RouteCollection.php +++ b/src/Symfony/Component/Routing/RouteCollection.php @@ -26,24 +26,30 @@ use Symfony\Component\Config\Resource\ResourceInterface; */ class RouteCollection implements \IteratorAggregate, \Countable { - private $routes; - private $resources; - private $prefix; - private $parent; - private $hostnamePattern; + /** + * @var (RouteCollection|Route)[] + */ + private $routes = array(); /** - * Constructor. - * - * @api + * @var array */ - public function __construct() - { - $this->routes = array(); - $this->resources = array(); - $this->prefix = ''; - $this->hostnamePattern = ''; - } + private $resources = array(); + + /** + * @var string + */ + private $prefix = ''; + + /** + * @var RouteCollection|null + */ + private $parent; + + /** + * @var string + */ + private $hostnamePattern = ''; public function __clone() { @@ -129,7 +135,7 @@ class RouteCollection implements \IteratorAggregate, \Countable /** * Returns all routes in this collection and its children. * - * @return array An array of routes + * @return Route[] An array of routes */ public function all() { diff --git a/src/Symfony/Component/Routing/Router.php b/src/Symfony/Component/Routing/Router.php index 90984e9a4b..68d73ab24d 100644 --- a/src/Symfony/Component/Routing/Router.php +++ b/src/Symfony/Component/Routing/Router.php @@ -26,13 +26,44 @@ use Symfony\Component\Routing\Matcher\UrlMatcherInterface; */ class Router implements RouterInterface { + /** + * @var UrlMatcherInterface|null + */ protected $matcher; + + /** + * @var UrlGeneratorInterface|null + */ protected $generator; + + /** + * @var RequestContext + */ protected $context; + + /** + * @var LoaderInterface + */ protected $loader; + + /** + * @var RouteCollection|null + */ protected $collection; + + /** + * @var mixed + */ protected $resource; - protected $options; + + /** + * @var array + */ + protected $options = array(); + + /** + * @var LoggerInterface|null + */ protected $logger; /**