PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / trunk
Matomo Analytics – Powerful, Privacy-First Insights for WordPress vtrunk
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / vendor / prefixed / symfony / http-kernel / DependencyInjection / FragmentRendererPass.php
matomo / app / vendor / prefixed / symfony / http-kernel / DependencyInjection Last commit date
AddAnnotatedClassesToCachePass.php 1 year ago ConfigurableExtension.php 2 years ago ControllerArgumentValueResolverPass.php 2 years ago Extension.php 2 years ago FragmentRendererPass.php 1 year ago LazyLoadingFragmentHandler.php 1 year ago LoggerPass.php 1 year ago MergeExtensionConfigurationPass.php 2 years ago RegisterControllerArgumentLocatorsPass.php 1 year ago RegisterLocaleAwareServicesPass.php 2 years ago RemoveEmptyControllerArgumentLocatorsPass.php 1 year ago ResettableServicePass.php 1 year ago ServicesResetter.php 2 years ago
FragmentRendererPass.php
59 lines
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11 namespace Matomo\Dependencies\Symfony\Component\HttpKernel\DependencyInjection;
12
13 use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
14 use Symfony\Component\DependencyInjection\Compiler\ServiceLocatorTagPass;
15 use Symfony\Component\DependencyInjection\ContainerBuilder;
16 use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
17 use Symfony\Component\DependencyInjection\Reference;
18 use Matomo\Dependencies\Symfony\Component\HttpKernel\Fragment\FragmentRendererInterface;
19 /**
20 * Adds services tagged kernel.fragment_renderer as HTTP content rendering strategies.
21 *
22 * @author Fabien Potencier <fabien@symfony.com>
23 */
24 class FragmentRendererPass implements CompilerPassInterface
25 {
26 private $handlerService;
27 private $rendererTag;
28 public function __construct(string $handlerService = 'fragment.handler', string $rendererTag = 'kernel.fragment_renderer')
29 {
30 if (0 < \func_num_args()) {
31 trigger_deprecation('symfony/http-kernel', '5.3', 'Configuring "%s" is deprecated.', __CLASS__);
32 }
33 $this->handlerService = $handlerService;
34 $this->rendererTag = $rendererTag;
35 }
36 public function process(ContainerBuilder $container)
37 {
38 if (!$container->hasDefinition($this->handlerService)) {
39 return;
40 }
41 $definition = $container->getDefinition($this->handlerService);
42 $renderers = [];
43 foreach ($container->findTaggedServiceIds($this->rendererTag, \true) as $id => $tags) {
44 $def = $container->getDefinition($id);
45 $class = $container->getParameterBag()->resolveValue($def->getClass());
46 if (!($r = $container->getReflectionClass($class))) {
47 throw new InvalidArgumentException(sprintf('Class "%s" used for service "%s" cannot be found.', $class, $id));
48 }
49 if (!$r->isSubclassOf(FragmentRendererInterface::class)) {
50 throw new InvalidArgumentException(sprintf('Service "%s" must implement interface "%s".', $id, FragmentRendererInterface::class));
51 }
52 foreach ($tags as $tag) {
53 $renderers[$tag['alias']] = new Reference($id);
54 }
55 }
56 $definition->replaceArgument(0, ServiceLocatorTagPass::register($container, $renderers));
57 }
58 }
59