From d7c05edffcc11a345905d132b6fc3703eab3ca5d Mon Sep 17 00:00:00 2001 From: Ener-Getick Date: Fri, 15 Jul 2016 00:40:30 +0200 Subject: [PATCH] Add type hints --- .travis.yml | 1 - ApiDocGenerator.php | 14 ++++++------ ...tractorsPass.php => AddDescribersPass.php} | 6 ++--- ...orsPass.php => AddRouteDescribersPass.php} | 6 ++--- .../DescriberInterface.php | 6 ++--- .../RouteDescriber.php | 22 +++++++++---------- EXSystApiDocBundle.php | 8 +++---- Resources/config/services.xml | 16 +++++++------- .../NelmioAnnotationDescriber.php | 8 +++---- .../PhpDocDescriber.php | 8 +++---- .../RouteDescriberInterface.php | 6 ++--- .../RouteDescriberTrait.php | 4 ++-- .../RouteMetadataDescriber.php | 8 +++---- 13 files changed, 56 insertions(+), 57 deletions(-) rename DependencyInjection/Compiler/{AddExtractorsPass.php => AddDescribersPass.php} (78%) rename DependencyInjection/Compiler/{AddRoutingExtractorsPass.php => AddRouteDescribersPass.php} (68%) rename Extractor/ExtractorInterface.php => Describer/DescriberInterface.php (66%) rename Extractor/RoutingExtractor.php => Describer/RouteDescriber.php (82%) rename Extractor/Routing/NelmioAnnotationExtractor.php => RouteDescriber/NelmioAnnotationDescriber.php (94%) rename Extractor/Routing/PhpDocExtractor.php => RouteDescriber/PhpDocDescriber.php (87%) rename Extractor/Routing/RouteExtractorInterface.php => RouteDescriber/RouteDescriberInterface.php (60%) rename Extractor/Routing/RouteExtractorTrait.php => RouteDescriber/RouteDescriberTrait.php (91%) rename Extractor/Routing/RouteMetadataExtractor.php => RouteDescriber/RouteMetadataDescriber.php (76%) diff --git a/.travis.yml b/.travis.yml index f40cc75..fdd15e7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,6 @@ language: php php: - 7.0 - 7.1 - - hhvm sudo: false diff --git a/ApiDocGenerator.php b/ApiDocGenerator.php index e905f41..a2cff6c 100644 --- a/ApiDocGenerator.php +++ b/ApiDocGenerator.php @@ -11,20 +11,20 @@ namespace EXSyst\Bundle\ApiDocBundle; -use EXSyst\Bundle\ApiDocBundle\Extractor\ExtractorInterface; +use EXSyst\Bundle\ApiDocBundle\Describer\DescriberInterface; use gossi\swagger\Swagger; class ApiDocGenerator { private $swagger; - private $extractors; + private $describers; /** - * @param ExtractorInterface[] $extractors + * @param DescriberInterface[] $describers */ - public function __construct(array $extractors) + public function __construct(array $describers) { - $this->extractors = $extractors; + $this->describers = $describers; } /** @@ -37,8 +37,8 @@ class ApiDocGenerator } $this->swagger = new Swagger(); - foreach ($this->extractors as $extractor) { - $extractor->extractIn($this->swagger); + foreach ($this->describers as $describer) { + $describer->describe($this->swagger); } return $this->swagger; diff --git a/DependencyInjection/Compiler/AddExtractorsPass.php b/DependencyInjection/Compiler/AddDescribersPass.php similarity index 78% rename from DependencyInjection/Compiler/AddExtractorsPass.php rename to DependencyInjection/Compiler/AddDescribersPass.php index 7a00a27..d836b93 100644 --- a/DependencyInjection/Compiler/AddExtractorsPass.php +++ b/DependencyInjection/Compiler/AddDescribersPass.php @@ -15,14 +15,14 @@ use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\Compiler\PriorityTaggedServiceTrait; use Symfony\Component\DependencyInjection\ContainerBuilder; -class AddExtractorsPass implements CompilerPassInterface +class AddDescribersPass implements CompilerPassInterface { use PriorityTaggedServiceTrait; public function process(ContainerBuilder $container) { - $extractors = $this->findAndSortTaggedServices('exsyst_api_doc.extractor', $container); + $describers = $this->findAndSortTaggedServices('exsyst_api_doc.describer', $container); - $container->getDefinition('exsyst_api_doc.generator')->replaceArgument(0, $extractors); + $container->getDefinition('exsyst_api_doc.generator')->replaceArgument(0, $describers); } } diff --git a/DependencyInjection/Compiler/AddRoutingExtractorsPass.php b/DependencyInjection/Compiler/AddRouteDescribersPass.php similarity index 68% rename from DependencyInjection/Compiler/AddRoutingExtractorsPass.php rename to DependencyInjection/Compiler/AddRouteDescribersPass.php index 065c804..8b7af49 100644 --- a/DependencyInjection/Compiler/AddRoutingExtractorsPass.php +++ b/DependencyInjection/Compiler/AddRouteDescribersPass.php @@ -15,14 +15,14 @@ use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\Compiler\PriorityTaggedServiceTrait; use Symfony\Component\DependencyInjection\ContainerBuilder; -class AddRoutingExtractorsPass implements CompilerPassInterface +class AddRouteDescribersPass implements CompilerPassInterface { use PriorityTaggedServiceTrait; public function process(ContainerBuilder $container) { - $extractors = $this->findAndSortTaggedServices('exsyst_api_doc.routing_extractor', $container); + $routeDescribers = $this->findAndSortTaggedServices('exsyst_api_doc.route_describer', $container); - $container->getDefinition('exsyst_api_doc.extractors.routing')->replaceArgument(2, $extractors); + $container->getDefinition('exsyst_api_doc.describers.route')->replaceArgument(2, $routeDescribers); } } diff --git a/Extractor/ExtractorInterface.php b/Describer/DescriberInterface.php similarity index 66% rename from Extractor/ExtractorInterface.php rename to Describer/DescriberInterface.php index fb2eb58..78da353 100644 --- a/Extractor/ExtractorInterface.php +++ b/Describer/DescriberInterface.php @@ -9,11 +9,11 @@ * file that was distributed with this source code. */ -namespace EXSyst\Bundle\ApiDocBundle\Extractor; +namespace EXSyst\Bundle\ApiDocBundle\Describer; use gossi\swagger\Swagger; -interface ExtractorInterface +interface DescriberInterface { - public function extractIn(Swagger $api); + public function describe(Swagger $api); } diff --git a/Extractor/RoutingExtractor.php b/Describer/RouteDescriber.php similarity index 82% rename from Extractor/RoutingExtractor.php rename to Describer/RouteDescriber.php index c09b95c..42668c3 100644 --- a/Extractor/RoutingExtractor.php +++ b/Describer/RouteDescriber.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -namespace EXSyst\Bundle\ApiDocBundle\Extractor; +namespace EXSyst\Bundle\ApiDocBundle\Describer; use Doctrine\Common\Util\ClassUtils; use EXSyst\Bundle\ApiDocBundle\Extractor\Routing\RouteExtractorInterface; @@ -18,25 +18,25 @@ use Symfony\Bundle\FrameworkBundle\Controller\ControllerNameParser; use Symfony\Component\Routing\Route; use Symfony\Component\Routing\RouterInterface; -class RoutingExtractor implements ExtractorInterface +class RouteDescriber implements DescriberInterface { - private $routeExtractors; + private $routeDescribers; /** * @param RouterInterface $router * @param ControllerNameParser $controllerNameParser - * @param RouteExtractorInterface[] $extractors + * @param RouteDescriberInterface[] $routeDescribers */ - public function __construct(RouterInterface $router, ControllerNameParser $controllerNameParser, array $routeExtractors) + public function __construct(RouterInterface $router, ControllerNameParser $controllerNameParser, array $routeDescribers) { $this->router = $router; $this->controllerNameParser = $controllerNameParser; - $this->routeExtractors = $routeExtractors; + $this->routeDescribers = $routeDescribers; } - public function extractIn(Swagger $swagger) + public function describe(Swagger $swagger) { - if (0 === count($this->routeExtractors)) { + if (0 === count($this->routeDescribers)) { return; } @@ -44,8 +44,8 @@ class RoutingExtractor implements ExtractorInterface // if able to resolve the controller if ($method = $this->getReflectionMethod($route->getDefault('_controller'))) { // Extract as many informations as possible about this route - foreach ($this->routeExtractors as $extractor) { - $extractor->extractIn($swagger, $route, $method); + foreach ($this->routeDescribers as $describer) { + $describer->describe($swagger, $route, $method); } } } @@ -68,7 +68,7 @@ class RoutingExtractor implements ExtractorInterface * * @return \ReflectionMethod|null */ - private function getReflectionMethod($controller) + private function getReflectionMethod(string $controller) { if (false === strpos($controller, '::') && 2 === substr_count($controller, ':')) { $controller = $this->controllerNameParser->parse($controller); diff --git a/EXSystApiDocBundle.php b/EXSystApiDocBundle.php index a9e611a..b672f38 100644 --- a/EXSystApiDocBundle.php +++ b/EXSystApiDocBundle.php @@ -11,8 +11,8 @@ namespace EXSyst\Bundle\ApiDocBundle; -use EXSyst\Bundle\ApiDocBundle\DependencyInjection\Compiler\AddExtractorsPass; -use EXSyst\Bundle\ApiDocBundle\DependencyInjection\Compiler\AddRoutingExtractorsPass; +use EXSyst\Bundle\ApiDocBundle\DependencyInjection\Compiler\AddDescribersPass; +use EXSyst\Bundle\ApiDocBundle\DependencyInjection\Compiler\AddRouteDescribersPass; use EXSyst\Bundle\ApiDocBundle\DependencyInjection\EXSystApiDocExtension; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpKernel\Bundle\Bundle; @@ -24,8 +24,8 @@ class EXSystApiDocBundle extends Bundle */ public function build(ContainerBuilder $container) { - $container->addCompilerPass(new AddExtractorsPass()); - $container->addCompilerPass(new AddRoutingExtractorsPass()); + $container->addCompilerPass(new AddDescribersPass()); + $container->addCompilerPass(new AddRouteDescribersPass()); } /** diff --git a/Resources/config/services.xml b/Resources/config/services.xml index 90f06de..86fbf2d 100644 --- a/Resources/config/services.xml +++ b/Resources/config/services.xml @@ -9,27 +9,27 @@ - + - + - - + + - - + + - + - + diff --git a/Extractor/Routing/NelmioAnnotationExtractor.php b/RouteDescriber/NelmioAnnotationDescriber.php similarity index 94% rename from Extractor/Routing/NelmioAnnotationExtractor.php rename to RouteDescriber/NelmioAnnotationDescriber.php index a1a9bc8..7c3a344 100644 --- a/Extractor/Routing/NelmioAnnotationExtractor.php +++ b/RouteDescriber/NelmioAnnotationDescriber.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -namespace EXSyst\Bundle\ApiDocBundle\Extractor\Routing; +namespace EXSyst\Bundle\ApiDocBundle\RouteDescriber; use Doctrine\Common\Annotations\Reader; use gossi\swagger\Parameter; @@ -17,9 +17,9 @@ use gossi\swagger\Swagger; use Nelmio\ApiDocBundle\Annotation\ApiDoc; use Symfony\Component\Routing\Route; -class NelmioAnnotationExtractor implements RouteExtractorInterface +class NelmioAnnotationDescriber implements RouteDescriberInterface { - use RouteExtractorTrait; + use RouteDescriberTrait; private $annotationReader; @@ -28,7 +28,7 @@ class NelmioAnnotationExtractor implements RouteExtractorInterface $this->annotationReader = $annotationReader; } - public function extractIn(Swagger $api, Route $route, \ReflectionMethod $reflectionMethod) + public function describe(Swagger $api, Route $route, \ReflectionMethod $reflectionMethod) { $annotation = $this->annotationReader->getMethodAnnotation($reflectionMethod, ApiDoc::class); if (null === $annotation) { diff --git a/Extractor/Routing/PhpDocExtractor.php b/RouteDescriber/PhpDocDescriber.php similarity index 87% rename from Extractor/Routing/PhpDocExtractor.php rename to RouteDescriber/PhpDocDescriber.php index 9c5e577..520f055 100644 --- a/Extractor/Routing/PhpDocExtractor.php +++ b/RouteDescriber/PhpDocDescriber.php @@ -9,16 +9,16 @@ * file that was distributed with this source code. */ -namespace EXSyst\Bundle\ApiDocBundle\Extractor\Routing; +namespace EXSyst\Bundle\ApiDocBundle\RouteDescriber; use gossi\swagger\Swagger; use phpDocumentor\Reflection\DocBlockFactory; use phpDocumentor\Reflection\DocBlockFactoryInterface; use Symfony\Component\Routing\Route; -class PhpDocExtractor implements RouteExtractorInterface +class PhpDocDescriber implements RouteDescriberInterface { - use RouteExtractorTrait; + use RouteDescriberTrait; private $docBlockFactory; @@ -30,7 +30,7 @@ class PhpDocExtractor implements RouteExtractorInterface $this->docBlockFactory = $docBlockFactory; } - public function extractIn(Swagger $api, Route $route, \ReflectionMethod $reflectionMethod) + public function describe(Swagger $api, Route $route, \ReflectionMethod $reflectionMethod) { $classDocBlock = null; $docBlock = null; diff --git a/Extractor/Routing/RouteExtractorInterface.php b/RouteDescriber/RouteDescriberInterface.php similarity index 60% rename from Extractor/Routing/RouteExtractorInterface.php rename to RouteDescriber/RouteDescriberInterface.php index c052a39..93c9b53 100644 --- a/Extractor/Routing/RouteExtractorInterface.php +++ b/RouteDescriber/RouteDescriberInterface.php @@ -9,12 +9,12 @@ * file that was distributed with this source code. */ -namespace EXSyst\Bundle\ApiDocBundle\Extractor\Routing; +namespace EXSyst\Bundle\ApiDocBundle\RouteDescriber; use gossi\swagger\Swagger; use Symfony\Component\Routing\Route; -interface RouteExtractorInterface +interface RouteDescriberInterface { - public function extractIn(Swagger $api, Route $route, \ReflectionMethod $reflectionMethod); + public function describe(Swagger $api, Route $route, \ReflectionMethod $reflectionMethod); } diff --git a/Extractor/Routing/RouteExtractorTrait.php b/RouteDescriber/RouteDescriberTrait.php similarity index 91% rename from Extractor/Routing/RouteExtractorTrait.php rename to RouteDescriber/RouteDescriberTrait.php index 391ee0c..c2c8772 100644 --- a/Extractor/Routing/RouteExtractorTrait.php +++ b/RouteDescriber/RouteDescriberTrait.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -namespace EXSyst\Bundle\ApiDocBundle\Extractor\Routing; +namespace EXSyst\Bundle\ApiDocBundle\RouteDescriber; use gossi\swagger\Operation; use gossi\swagger\Swagger; @@ -18,7 +18,7 @@ use Symfony\Component\Routing\Route; /** * @internal */ -trait RouteExtractorTrait +trait RouteDescriberTrait { /** * @internal diff --git a/Extractor/Routing/RouteMetadataExtractor.php b/RouteDescriber/RouteMetadataDescriber.php similarity index 76% rename from Extractor/Routing/RouteMetadataExtractor.php rename to RouteDescriber/RouteMetadataDescriber.php index 2fcd7c5..271d312 100644 --- a/Extractor/Routing/RouteMetadataExtractor.php +++ b/RouteDescriber/RouteMetadataDescriber.php @@ -9,16 +9,16 @@ * file that was distributed with this source code. */ -namespace EXSyst\Bundle\ApiDocBundle\Extractor\Routing; +namespace EXSyst\Bundle\ApiDocBundle\RouteDescriber; use gossi\swagger\Swagger; use Symfony\Component\Routing\Route; -class RouteMetadataExtractor implements RouteExtractorInterface +class RouteMetadataDescriber implements RouteDescriberInterface { - use RouteExtractorTrait; + use RouteDescriberTrait; - public function extractIn(Swagger $api, Route $route, \ReflectionMethod $reflectionMethod) + public function describe(Swagger $api, Route $route, \ReflectionMethod $reflectionMethod) { foreach ($this->getOperations($api, $route) as $operation) { $operation->getSchemes()->addAll($route->getSchemes());