[Fragment] Move configuration to PHP
This commit is contained in:
parent
4b22f97926
commit
eaf53f6889
@ -175,7 +175,7 @@ class FrameworkExtension extends Extension
|
||||
|
||||
$loader->load('web.xml');
|
||||
$loader->load('services.xml');
|
||||
$loader->load('fragment_renderer.xml');
|
||||
$phpLoader->load('fragment_renderer.php');
|
||||
$phpLoader->load('error_renderer.php');
|
||||
|
||||
if (interface_exists(PsrEventDispatcherInterface::class)) {
|
||||
@ -367,7 +367,7 @@ class FrameworkExtension extends Extension
|
||||
$this->registerValidationConfiguration($config['validation'], $container, $loader, $propertyInfoEnabled);
|
||||
$this->registerEsiConfiguration($config['esi'], $container, $loader);
|
||||
$this->registerSsiConfiguration($config['ssi'], $container, $phpLoader);
|
||||
$this->registerFragmentsConfiguration($config['fragments'], $container, $loader);
|
||||
$this->registerFragmentsConfiguration($config['fragments'], $container, $phpLoader);
|
||||
$this->registerTranslatorConfiguration($config['translator'], $container, $loader, $config['default_locale']);
|
||||
$this->registerProfilerConfiguration($config['profiler'], $container, $loader, $phpLoader);
|
||||
$this->registerWorkflowConfiguration($config['workflows'], $container, $loader);
|
||||
@ -554,7 +554,7 @@ class FrameworkExtension extends Extension
|
||||
$loader->load('ssi.php');
|
||||
}
|
||||
|
||||
private function registerFragmentsConfiguration(array $config, ContainerBuilder $container, XmlFileLoader $loader)
|
||||
private function registerFragmentsConfiguration(array $config, ContainerBuilder $container, PhpFileLoader $loader)
|
||||
{
|
||||
if (!$this->isConfigEnabled($container, $config)) {
|
||||
$container->removeDefinition('fragment.renderer.hinclude');
|
||||
@ -564,7 +564,7 @@ class FrameworkExtension extends Extension
|
||||
|
||||
$container->setParameter('fragment.renderer.hinclude.global_template', $config['hinclude_default_template']);
|
||||
|
||||
$loader->load('fragment_listener.xml');
|
||||
$loader->load('fragment_listener.php');
|
||||
$container->setParameter('fragment.path', $config['path']);
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,22 @@
|
||||
<?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\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\HttpKernel\EventListener\FragmentListener;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('fragment.listener', FragmentListener::class)
|
||||
->args([service('uri_signer'), param('fragment.path')])
|
||||
->tag('kernel.event_subscriber')
|
||||
;
|
||||
};
|
@ -1,16 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="fragment.listener" class="Symfony\Component\HttpKernel\EventListener\FragmentListener">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
<argument type="service" id="uri_signer" />
|
||||
<argument>%fragment.path%</argument>
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
@ -0,0 +1,65 @@
|
||||
<?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\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\HttpKernel\DependencyInjection\LazyLoadingFragmentHandler;
|
||||
use Symfony\Component\HttpKernel\Fragment\EsiFragmentRenderer;
|
||||
use Symfony\Component\HttpKernel\Fragment\HIncludeFragmentRenderer;
|
||||
use Symfony\Component\HttpKernel\Fragment\InlineFragmentRenderer;
|
||||
use Symfony\Component\HttpKernel\Fragment\SsiFragmentRenderer;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->parameters()
|
||||
->set('fragment.renderer.hinclude.global_template', null)
|
||||
->set('fragment.path', '/_fragment')
|
||||
;
|
||||
|
||||
$container->services()
|
||||
->set('fragment.handler', LazyLoadingFragmentHandler::class)
|
||||
->args([
|
||||
abstract_arg('fragment renderer locator'),
|
||||
service('request_stack'),
|
||||
param('kernel.debug'),
|
||||
])
|
||||
|
||||
->set('fragment.renderer.inline', InlineFragmentRenderer::class)
|
||||
->args([service('http_kernel'), service('event_dispatcher')])
|
||||
->call('setFragmentPath', [param('fragment.path')])
|
||||
->tag('kernel.fragment_renderer', ['alias' => 'inline'])
|
||||
|
||||
->set('fragment.renderer.hinclude', HIncludeFragmentRenderer::class)
|
||||
->args([
|
||||
service('twig')->nullOnInvalid(),
|
||||
service('uri_signer'),
|
||||
param('fragment.renderer.hinclude.global_template'),
|
||||
])
|
||||
->call('setFragmentPath', [param('fragment.path')])
|
||||
|
||||
->set('fragment.renderer.esi', EsiFragmentRenderer::class)
|
||||
->args([
|
||||
service('esi')->nullOnInvalid(),
|
||||
service('fragment.renderer.inline'),
|
||||
service('uri_signer'),
|
||||
])
|
||||
->call('setFragmentPath', [param('fragment.path')])
|
||||
->tag('kernel.fragment_renderer', ['alias' => 'esi'])
|
||||
|
||||
->set('fragment.renderer.ssi', SsiFragmentRenderer::class)
|
||||
->args([
|
||||
service('ssi')->nullOnInvalid(),
|
||||
service('fragment.renderer.inline'),
|
||||
service('uri_signer'),
|
||||
])
|
||||
->call('setFragmentPath', [param('fragment.path')])
|
||||
->tag('kernel.fragment_renderer', ['alias' => 'ssi'])
|
||||
;
|
||||
};
|
@ -1,51 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<parameters>
|
||||
<parameter key="fragment.renderer.hinclude.global_template"></parameter>
|
||||
<parameter key="fragment.path">/_fragment</parameter>
|
||||
</parameters>
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="fragment.handler" class="Symfony\Component\HttpKernel\DependencyInjection\LazyLoadingFragmentHandler">
|
||||
<argument /> <!-- fragment renderer locator -->
|
||||
<argument type="service" id="request_stack" />
|
||||
<argument>%kernel.debug%</argument>
|
||||
</service>
|
||||
|
||||
<service id="fragment.renderer.inline" class="Symfony\Component\HttpKernel\Fragment\InlineFragmentRenderer">
|
||||
<tag name="kernel.fragment_renderer" alias="inline" />
|
||||
<argument type="service" id="http_kernel" />
|
||||
<argument type="service" id="event_dispatcher" />
|
||||
<call method="setFragmentPath"><argument>%fragment.path%</argument></call>
|
||||
</service>
|
||||
|
||||
<service id="fragment.renderer.hinclude" class="Symfony\Component\HttpKernel\Fragment\HIncludeFragmentRenderer">
|
||||
<argument type="service" id="twig" on-invalid="null" />
|
||||
<argument type="service" id="uri_signer" />
|
||||
<argument>%fragment.renderer.hinclude.global_template%</argument>
|
||||
<call method="setFragmentPath"><argument>%fragment.path%</argument></call>
|
||||
</service>
|
||||
|
||||
<service id="fragment.renderer.esi" class="Symfony\Component\HttpKernel\Fragment\EsiFragmentRenderer">
|
||||
<tag name="kernel.fragment_renderer" alias="esi" />
|
||||
<argument type="service" id="esi" on-invalid="null" />
|
||||
<argument type="service" id="fragment.renderer.inline" />
|
||||
<argument type="service" id="uri_signer" />
|
||||
<call method="setFragmentPath"><argument>%fragment.path%</argument></call>
|
||||
</service>
|
||||
|
||||
<service id="fragment.renderer.ssi" class="Symfony\Component\HttpKernel\Fragment\SsiFragmentRenderer">
|
||||
<tag name="kernel.fragment_renderer" alias="ssi" />
|
||||
<argument type="service" id="ssi" on-invalid="null" />
|
||||
<argument type="service" id="fragment.renderer.inline" />
|
||||
<argument type="service" id="uri_signer" />
|
||||
<call method="setFragmentPath"><argument>%fragment.path%</argument></call>
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
Reference in New Issue
Block a user