/
githubmirror
/
symfony
Обзор
Документация
Войти
/
githubmirror
/
symfony
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
8.2
src/Symfony/Component/DependencyInjection/Compiler/RemoveBuildParametersPass.php
54 строки
1 KB
Nicolas Grekas
Merge branch '6.4' into 7.4
18 апр 2026, 16:51
18 апр 2026, 16:51
22c5dd0
Код
Авторство
О чём код?
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\DependencyInjection\Compiler; use Symfony\Component\DependencyInjection\ContainerBuilder; class RemoveBuildParametersPass implements CompilerPassInterface { /** * @var array<string, mixed> */ private array $removedParameters = []; public function __construct( private bool $preserveArrays = false, ) { } public function process(ContainerBuilder $container): void { $parameterBag = $container->getParameterBag(); $this->removedParameters = []; foreach ($parameterBag->all() as $name => $value) { if ('.' !== ($name[0] ?? '')) { continue; } if (!$this->preserveArrays || !\is_array($value)) { $this->removedParameters[$name] = $value; $parameterBag->remove($name); $container->log($this, \sprintf('Removing build parameter "%s".', $name)); } else { $container->log($this, \sprintf('Keeping array build parameter "%s" for placeholder resolution.', $name)); } } } /** * @return array<string, mixed> */ public function getRemovedParameters(): array { return $this->removedParameters; } }