3 declare(strict_types
=1);
5 namespace Symfony\Component\DependencyInjection\Loader\Configurator
;
7 use Symfony\Component\DependencyInjection\Reference
;
8 use function is_string
;
11 return static function (ContainerConfigurator
$configurator) {
12 $services = $configurator->services();
13 $loadServices = static function (array $servicesFile, ServicesConfigurator
$services): void
{
14 foreach ($servicesFile['services'] as $serviceName => $service) {
15 if (is_string($service)) {
16 $services->alias($serviceName, $service);
19 $theService = $services->set($serviceName, $service['class'] ??
null);
20 if (isset($service['arguments'])) {// !== null check
21 foreach ($service['arguments'] as &$argumentName) {
22 if ($argumentName[0] !== '@') {
26 $services->alias($serviceName, substr($argumentName, 1));
27 $argumentName = new Reference(substr($argumentName, 1));
29 $theService->args($service['arguments']);
31 if (! isset($service['factory'])) {
35 $theService->factory($service['factory']);
39 $servicesFile = include ROOT_PATH
. 'libraries/services.php';
40 $loadServices($servicesFile, $services);
41 $servicesFile = include ROOT_PATH
. 'libraries/services_controllers.php';
42 $loadServices($servicesFile, $services);