3 namespace Symfony\Component\DependencyInjection\Loader\Configurator
;
5 use Symfony\Component\DependencyInjection\Reference
;
7 return function (ContainerConfigurator
$configurator) {
8 $services = $configurator->services();
9 $loadServices = function (array $servicesFile, ServicesConfigurator
$services): void
{
10 foreach ($servicesFile['services'] as $serviceName => $service) {
11 if (is_string($service)) {
12 $services->alias($serviceName, $service);
15 $theService = $services->set($serviceName, $service['class'] ??
null);
16 if (isset($service['arguments'])) {// !== null check
17 foreach ($service['arguments'] as &$argumentName) {
18 if ($argumentName[0] === '@') {
19 $services->alias($serviceName, substr($argumentName, 1));
20 $argumentName = new Reference(substr($argumentName, 1));
23 $theService->args($service['arguments']);
25 if (isset($service['factory'])) {// !== null check
26 $theService->factory($service['factory']);
31 $servicesFile = include ROOT_PATH
. 'libraries/services.php';
32 $loadServices($servicesFile, $services);
33 $servicesFile = include ROOT_PATH
. 'libraries/services_controllers.php';
34 $loadServices($servicesFile, $services);