mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-24 11:08:45 +02:00
N°6934 - Symfony 6.4 - upgrade Symfony bundles to 6.4 (#580)
* Update Symfony lib to version ~6.4.0 * Update code missing return type * Add an iTop general configuration entry to store application secret (Symfony mandatory parameter) * Use dependency injection in ExceptionListener & UserProvider classes
This commit is contained in:
@@ -20,9 +20,9 @@ use Symfony\Component\DependencyInjection\ServiceLocator as BaseServiceLocator;
|
||||
*/
|
||||
class ServiceLocator extends BaseServiceLocator
|
||||
{
|
||||
private $factory;
|
||||
private $serviceMap;
|
||||
private $serviceTypes;
|
||||
private \Closure $factory;
|
||||
private array $serviceMap;
|
||||
private ?array $serviceTypes;
|
||||
|
||||
public function __construct(\Closure $factory, array $serviceMap, array $serviceTypes = null)
|
||||
{
|
||||
@@ -32,21 +32,17 @@ class ServiceLocator extends BaseServiceLocator
|
||||
parent::__construct($serviceMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function get(string $id)
|
||||
public function get(string $id): mixed
|
||||
{
|
||||
return isset($this->serviceMap[$id]) ? ($this->factory)(...$this->serviceMap[$id]) : parent::get($id);
|
||||
return match (\count($this->serviceMap[$id] ?? [])) {
|
||||
0 => parent::get($id),
|
||||
1 => $this->serviceMap[$id][0],
|
||||
default => ($this->factory)(...$this->serviceMap[$id]),
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getProvidedServices(): array
|
||||
{
|
||||
return $this->serviceTypes ?? $this->serviceTypes = array_map(function () { return '?'; }, $this->serviceMap);
|
||||
return $this->serviceTypes ??= array_map(fn () => '?', $this->serviceMap);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user