Verzeichnisstruktur phpBB-3.2.0
- Veröffentlicht
- 06.01.2017
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
MergeExtensionConfigurationPass.php
01 <?php
02
03 /*
04 * This file is part of the Symfony package.
05 *
06 * (c) Fabien Potencier <fabien@symfony.com>
07 *
08 * For the full copyright and license information, please view the LICENSE
09 * file that was distributed with this source code.
10 */
11
12 namespace Symfony\Component\DependencyInjection\Compiler;
13
14 use Symfony\Component\DependencyInjection\ContainerBuilder;
15 use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface;
16
17 /**
18 * Merges extension configs into the container builder.
19 *
20 * @author Fabien Potencier <fabien@symfony.com>
21 */
22 class MergeExtensionConfigurationPass implements CompilerPassInterface
23 {
24 /**
25 * {@inheritdoc}
26 */
27 public function process(ContainerBuilder $container)
28 {
29 $parameters = $container->getParameterBag()->all();
30 $definitions = $container->getDefinitions();
31 $aliases = $container->getAliases();
32 $exprLangProviders = $container->getExpressionLanguageProviders();
33
34 foreach ($container->getExtensions() as $extension) {
35 if ($extension instanceof PrependExtensionInterface) {
36 $extension->prepend($container);
37 }
38 }
39
40 foreach ($container->getExtensions() as $name => $extension) {
41 if (!$config = $container->getExtensionConfig($name)) {
42 // this extension was not called
43 continue;
44 }
45 $config = $container->getParameterBag()->resolveValue($config);
46
47 $tmpContainer = new ContainerBuilder($container->getParameterBag());
48 $tmpContainer->setResourceTracking($container->isTrackingResources());
49 $tmpContainer->addObjectResource($extension);
50
51 foreach ($exprLangProviders as $provider) {
52 $tmpContainer->addExpressionLanguageProvider($provider);
53 }
54
55 $extension->load($config, $tmpContainer);
56
57 $container->merge($tmpContainer);
58 $container->getParameterBag()->add($parameters);
59 }
60
61 $container->addDefinitions($definitions);
62 $container->addAliases($aliases);
63 }
64 }
65