[Routing] added more phpdoc and replaced 'array of type' by 'Type[]'

This commit is contained in:
Tobias Schultze 2012-11-12 16:14:50 +01:00
parent 966053069d
commit 1e1cb13faf
21 changed files with 188 additions and 53 deletions

View File

@ -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;

View File

@ -20,6 +20,9 @@ use Symfony\Component\Routing\RouteCollection;
*/
abstract class GeneratorDumper implements GeneratorDumperInterface
{
/**
* @var RouteCollection
*/
private $routes;
/**

View File

@ -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
*/

View File

@ -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
*

View File

@ -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
*

View File

@ -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
*

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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)
{

View File

@ -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
*

View File

@ -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()
{

View File

@ -18,6 +18,9 @@ namespace Symfony\Component\Routing\Matcher\Dumper;
*/
class DumperPrefixCollection extends DumperCollection
{
/**
* @var string
*/
private $prefix = '';
/**

View File

@ -20,7 +20,14 @@ use Symfony\Component\Routing\Route;
*/
class DumperRoute
{
/**
* @var string
*/
private $name;
/**
* @var Route
*/
private $route;
/**

View File

@ -20,6 +20,9 @@ use Symfony\Component\Routing\RouteCollection;
*/
abstract class MatcherDumper implements MatcherDumperInterface
{
/**
* @var RouteCollection
*/
private $routes;
/**

View File

@ -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
*/

View File

@ -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
*

View File

@ -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;
/**

View File

@ -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)

View File

@ -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();

View File

@ -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()
{

View File

@ -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;
/**