mirror of
https://github.com/retailcrm/NelmioApiDocBundle.git
synced 2025-02-02 23:59:26 +03:00
Merge pull request #1557 from maxhelias/deprecation
Remove deprecated notice about controller_name_converter
This commit is contained in:
commit
e9cdde1355
@ -180,6 +180,18 @@ final class NelmioApiDocExtension extends Extension implements PrependExtensionI
|
||||
|
||||
// Import the base configuration
|
||||
$container->getDefinition('nelmio_api_doc.describers.config')->replaceArgument(0, $config['documentation']);
|
||||
|
||||
// Compatibility Symfony
|
||||
$controllerNameConverter = null;
|
||||
if ($container->hasDefinition('.legacy_controller_name_converter')) { // 4.4
|
||||
$controllerNameConverter = $container->getDefinition('.legacy_controller_name_converter');
|
||||
} elseif ($container->hasDefinition('controller_name_converter')) { // < 4.4
|
||||
$controllerNameConverter = $container->getDefinition('controller_name_converter');
|
||||
}
|
||||
|
||||
if (null !== $controllerNameConverter) {
|
||||
$container->getDefinition('nelmio_api_doc.controller_reflector')->setArgument(1, $controllerNameConverter);
|
||||
}
|
||||
}
|
||||
|
||||
private function findNameAliases(array $names, string $area): array
|
||||
|
@ -19,7 +19,6 @@
|
||||
|
||||
<service id="nelmio_api_doc.controller_reflector" class="Nelmio\ApiDocBundle\Util\ControllerReflector" public="false">
|
||||
<argument type="service" id="service_container" />
|
||||
<argument type="service" id="controller_name_converter" />
|
||||
</service>
|
||||
|
||||
<!-- Describers -->
|
||||
|
@ -26,10 +26,13 @@ class ControllerReflector
|
||||
|
||||
private $controllers = [];
|
||||
|
||||
public function __construct(ContainerInterface $container, ControllerNameParser $controllerNameParser)
|
||||
public function __construct(ContainerInterface $container)
|
||||
{
|
||||
$this->container = $container;
|
||||
$this->controllerNameParser = $controllerNameParser;
|
||||
|
||||
if (1 < \func_num_args() && func_get_arg(1) instanceof ControllerNameParser) {
|
||||
$this->controllerNameParser = func_get_arg(1);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -79,8 +82,16 @@ class ControllerReflector
|
||||
return $this->controllers[$controller];
|
||||
}
|
||||
|
||||
if (false === strpos($controller, '::') && 2 === substr_count($controller, ':')) {
|
||||
$controller = $this->controllerNameParser->parse($controller);
|
||||
if ($this->controllerNameParser && false === strpos($controller, '::') && 2 === substr_count($controller, ':')) {
|
||||
$deprecatedNotation = $controller;
|
||||
|
||||
try {
|
||||
$controller = $this->controllerNameParser->parse($controller);
|
||||
|
||||
@trigger_error(sprintf('Referencing controllers with %s is deprecated since Symfony 4.1, use "%s" instead.', $deprecatedNotation, $controller), E_USER_DEPRECATED);
|
||||
} catch (\InvalidArgumentException $e) {
|
||||
// unable to optimize unknown notation
|
||||
}
|
||||
}
|
||||
|
||||
if (preg_match('#(.+)::([\w]+)#', $controller, $matches)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user