diff --git a/Command/DumpCommand.php b/Command/DumpCommand.php index 6e93b2c..15d9d11 100644 --- a/Command/DumpCommand.php +++ b/Command/DumpCommand.php @@ -12,14 +12,16 @@ namespace Nelmio\ApiDocBundle\Command; use Nelmio\ApiDocBundle\Annotation\ApiDoc; -use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand; +use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; +use Symfony\Component\DependencyInjection\ContainerAwareInterface; use Symfony\Component\HttpFoundation\Request; -class DumpCommand extends ContainerAwareCommand +class DumpCommand extends Command implements ContainerAwareInterface { + use \Symfony\Component\DependencyInjection\ContainerAwareTrait; /** * @var array */ @@ -47,20 +49,20 @@ class DumpCommand extends ContainerAwareCommand $format = $input->getOption('format'); $view = $input->getOption('view'); - $routeCollection = $this->getContainer()->get('router')->getRouteCollection(); + $routeCollection = $this->container->get('router')->getRouteCollection(); if ($format == 'json') { - $formatter = $this->getContainer()->get('nelmio_api_doc.formatter.simple_formatter'); + $formatter = $this->container->get('nelmio_api_doc.formatter.simple_formatter'); } else { if (!in_array($format, $this->availableFormats)) { throw new \RuntimeException(sprintf('Format "%s" not supported.', $format)); } - $formatter = $this->getContainer()->get(sprintf('nelmio_api_doc.formatter.%s_formatter', $format)); + $formatter = $this->container->get(sprintf('nelmio_api_doc.formatter.%s_formatter', $format)); } if ($input->hasOption('locale')) { - $this->getContainer()->get('translator')->setLocale($input->getOption('locale')); + $this->container->get('translator')->setLocale($input->getOption('locale')); } if ($input->hasOption('api-version')) { @@ -71,12 +73,12 @@ class DumpCommand extends ContainerAwareCommand $formatter->setEnableSandbox(false); } - if ('html' === $format && method_exists($this->getContainer(), 'enterScope')) { - $this->getContainer()->enterScope('request'); - $this->getContainer()->set('request', new Request(), 'request'); + if ('html' === $format && method_exists($this->container, 'enterScope')) { + $this->container->enterScope('request'); + $this->container->set('request', new Request(), 'request'); } - $extractor = $this->getContainer()->get('nelmio_api_doc.extractor.api_doc_extractor'); + $extractor = $this->container->get('nelmio_api_doc.extractor.api_doc_extractor'); $extractedDoc = $input->hasOption('api-version') ? $extractor->allForVersion($input->getOption('api-version'), $view) : $extractor->all($view); @@ -88,5 +90,7 @@ class DumpCommand extends ContainerAwareCommand } else { $output->writeln($formattedDoc, OutputInterface::OUTPUT_RAW); } + + return 0; } } diff --git a/DependencyInjection/AnnotationsProviderCompilerPass.php b/DependencyInjection/AnnotationsProviderCompilerPass.php index a369a43..c5feb6b 100644 --- a/DependencyInjection/AnnotationsProviderCompilerPass.php +++ b/DependencyInjection/AnnotationsProviderCompilerPass.php @@ -34,7 +34,7 @@ class AnnotationsProviderCompilerPass implements CompilerPassInterface $container ->getDefinition('nelmio_api_doc.extractor.api_doc_extractor') - ->replaceArgument(6, $annotationsProviders) + ->replaceArgument(5, $annotationsProviders) ; } } diff --git a/DependencyInjection/ExtractorHandlerCompilerPass.php b/DependencyInjection/ExtractorHandlerCompilerPass.php index 5055705..50c7143 100644 --- a/DependencyInjection/ExtractorHandlerCompilerPass.php +++ b/DependencyInjection/ExtractorHandlerCompilerPass.php @@ -29,6 +29,6 @@ class ExtractorHandlerCompilerPass implements CompilerPassInterface $container ->getDefinition('nelmio_api_doc.extractor.api_doc_extractor') - ->replaceArgument(5, $handlers); + ->replaceArgument(4, $handlers); } } diff --git a/Extractor/ApiDocExtractor.php b/Extractor/ApiDocExtractor.php index 7bcc0c8..c3d6696 100644 --- a/Extractor/ApiDocExtractor.php +++ b/Extractor/ApiDocExtractor.php @@ -48,11 +48,6 @@ class ApiDocExtractor */ private $commentExtractor; - /** - * @var ControllerNameParser - */ - protected $controllerNameParser; - /** * @var ParserInterface[] */ @@ -68,13 +63,12 @@ class ApiDocExtractor */ protected $annotationsProviders; - public function __construct(ContainerInterface $container, RouterInterface $router, Reader $reader, DocCommentExtractor $commentExtractor, ControllerNameParser $controllerNameParser, array $handlers, array $annotationsProviders) + public function __construct(ContainerInterface $container, RouterInterface $router, Reader $reader, DocCommentExtractor $commentExtractor, array $handlers, array $annotationsProviders) { $this->container = $container; $this->router = $router; $this->reader = $reader; $this->commentExtractor = $commentExtractor; - $this->controllerNameParser = $controllerNameParser; $this->handlers = $handlers; $this->annotationsProviders = $annotationsProviders; } @@ -227,9 +221,9 @@ class ApiDocExtractor */ public function getReflectionMethod($controller) { - if (false === strpos($controller, '::') && 2 === substr_count($controller, ':')) { - $controller = $this->controllerNameParser->parse($controller); - } +// if (false === strpos($controller, '::') && 2 === substr_count($controller, ':')) { +// $controller = $this->controllerNameParser->parse($controller); +// } if (preg_match('#(.+)::([\w]+)#', $controller, $matches)) { $class = $matches[1]; diff --git a/Form/Extension/DescriptionFormTypeExtension.php b/Form/Extension/DescriptionFormTypeExtension.php index 6bcf041..1a3e815 100644 --- a/Form/Extension/DescriptionFormTypeExtension.php +++ b/Form/Extension/DescriptionFormTypeExtension.php @@ -60,8 +60,8 @@ class DescriptionFormTypeExtension extends AbstractTypeExtension /** * {@inheritdoc} */ - public function getExtendedType() + public static function getExtendedTypes(): iterable { - return LegacyFormHelper::getType('Symfony\Component\Form\Extension\Core\Type\FormType'); + return [LegacyFormHelper::getType('Symfony\Component\Form\Extension\Core\Type\FormType')]; } } diff --git a/Resources/config/routing.yml b/Resources/config/routing.yml index f1de386..0b12d15 100644 --- a/Resources/config/routing.yml +++ b/Resources/config/routing.yml @@ -1,4 +1,4 @@ nelmio_api_doc_index: path: /{view} - defaults: { _controller: NelmioApiDocBundle:ApiDoc:index, view: 'default' } + defaults: { _controller: Nelmio\ApiDocBundle\Controller\ApiDocController::indexAction, view: 'default' } methods: [GET] diff --git a/Resources/config/services.xml b/Resources/config/services.xml index 0ca714a..2440f5e 100644 --- a/Resources/config/services.xml +++ b/Resources/config/services.xml @@ -31,7 +31,6 @@ - diff --git a/composer.json b/composer.json index 5330426..8843578 100644 --- a/composer.json +++ b/composer.json @@ -16,9 +16,9 @@ ], "require": { "php": ">=7.1", - "symfony/twig-bundle": "~2.3|~3.0|~4.0", - "symfony/framework-bundle": "~2.3|~3.0|~4.0", - "symfony/console": "~2.3|~3.0|~4.0", + "symfony/twig-bundle": "~2.3|~3.0|~4.0|~5.0", + "symfony/framework-bundle": "~2.3|~3.0|~4.0|~5.0", + "symfony/console": "~2.3|~3.0|~4.0|~5.0", "michelf/php-markdown": "~1.4" }, "conflict": { @@ -27,22 +27,6 @@ "twig/twig": "<1.12", "symfony/symfony": "~2.7.8" }, - "require-dev": { - "symfony/css-selector": "~2.3|~3.0|~4.0", - "symfony/browser-kit": "~2.3|~3.0|~4.0", - "symfony/validator": "~2.3|~3.0|~4.0", - "symfony/yaml": "~2.3|~3.0|~4.0", - "symfony/form": "~2.3|~3.0|~4.0", - "symfony/finder": "~2.3|~3.0|~4.0", - "symfony/serializer": "~2.7|~3.0|~4.0", - "doctrine/orm": "~2.3", - "doctrine/doctrine-bundle": "~1.5", - "friendsofsymfony/rest-bundle": "~1.0|~2.0", - "jms/serializer-bundle": ">=0.11", - "dunglas/api-bundle": "~1.0", - "sensio/framework-extra-bundle": "~3.0", - "symfony/phpunit-bridge": "~2.7|~3.0|~4.0" - }, "suggest": { "symfony/form": "For using form definitions as input.", "symfony/validator": "For making use of validator information in the doc.",