Translated using Weblate (Macedonian)
[phpmyadmin.git] / libraries / services_loader.php
blobc685c1c6f6f66fda0cc57181a438e8f724250163
1 <?php
3 declare(strict_types=1);
5 namespace Symfony\Component\DependencyInjection\Loader\Configurator;
7 use Symfony\Component\DependencyInjection\Reference;
9 use function is_string;
10 use function substr;
12 return static function (ContainerConfigurator $configurator): void {
13 $services = $configurator->services();
14 $loadServices = static function (array $servicesFile, ServicesConfigurator $services): void {
15 foreach ($servicesFile['services'] as $serviceName => $service) {
16 if (is_string($service)) {
17 $services->alias($serviceName, $service);
18 continue;
21 $theService = $services->set($serviceName, $service['class'] ?? null);
22 if (isset($service['arguments'])) {// !== null check
23 foreach ($service['arguments'] as &$argumentName) {
24 if ($argumentName[0] !== '@') {
25 continue;
28 $services->alias($serviceName, substr($argumentName, 1));
29 $argumentName = new Reference(substr($argumentName, 1));
32 $theService->args($service['arguments']);
35 if (! isset($service['factory'])) {
36 continue;
39 // !== null check
40 $theService->factory($service['factory']);
44 $servicesFile = include ROOT_PATH . 'libraries/services.php';
45 $loadServices($servicesFile, $services);
46 $servicesFile = include ROOT_PATH . 'libraries/services_controllers.php';
47 $loadServices($servicesFile, $services);