Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite716f76

Browse files
committed
made the old asset layer optional and disable it when using the new one
1 parent61dcb1a commite716f76

File tree

5 files changed

+112
-62
lines changed

5 files changed

+112
-62
lines changed

‎src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php‎

Lines changed: 63 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -101,12 +101,31 @@ public function load(array $configs, ContainerBuilder $container)
101101

102102
$this->registerSecurityCsrfConfiguration($config['csrf_protection'],$container,$loader);
103103

104+
$oldAssetsConfigured =false;
105+
if (
106+
isset($config['templating'])
107+
&&
108+
(
109+
count($config['templating']['packages'])
110+
||
111+
count($config['templating']['assets_base_urls']['http'])
112+
||
113+
count($config['templating']['assets_base_urls']['ssl'])
114+
)
115+
) {
116+
$oldAssetsConfigured =true;
117+
}
118+
119+
if (isset($config['assets']) &&$oldAssetsConfigured) {
120+
thrownew \LogicException('You cannot use the old asset configuration with the new one.');
121+
}
122+
104123
if (isset($config['assets'])) {
105124
$this->registerAssetsConfiguration($config['assets'],$container,$loader);
106125
}
107126

108127
if (isset($config['templating'])) {
109-
$this->registerTemplatingConfiguration($config['templating'],$config['ide'],$container,$loader);
128+
$this->registerTemplatingConfiguration($config['templating'],$config['ide'],$container,$loader,$oldAssetsConfigured);
110129
}
111130

112131
$this->registerValidationConfiguration($config['validation'],$container,$loader);
@@ -459,10 +478,9 @@ private function registerRequestConfiguration(array $config, ContainerBuilder $c
459478
* @param ContainerBuilder $container A ContainerBuilder instance
460479
* @param XmlFileLoader $loader An XmlFileLoader instance
461480
*/
462-
privatefunctionregisterTemplatingConfiguration(array$config,$ide,ContainerBuilder$container,XmlFileLoader$loader)
481+
privatefunctionregisterTemplatingConfiguration(array$config,$ide,ContainerBuilder$container,XmlFileLoader$loader,$oldAssetsConfigured)
463482
{
464483
$loader->load('templating.xml');
465-
$loader->load('templating_php.xml');
466484

467485
$links =array(
468486
'textmate' =>'txmt://open?url=file://%%f&line=%%l',
@@ -472,12 +490,23 @@ private function registerTemplatingConfiguration(array $config, $ide, ContainerB
472490
);
473491

474492
$container->setParameter('templating.helper.code.file_link_format',isset($links[$ide]) ?$links[$ide] :$ide);
475-
$container->setParameter('templating.helper.form.resources',$config['form']['resources']);
476493
$container->setParameter('fragment.renderer.hinclude.global_template',$config['hinclude_default_template']);
477494

478-
if ($container->getParameter('kernel.debug')) {
479-
$loader->load('templating_debug.xml');
495+
if ($oldAssetsConfigured) {
496+
$loader->load('old_assets.xml');
497+
498+
// create package definitions and add them to the assets helper
499+
$defaultPackage =$this->createTemplatingPackageDefinition($container,$config['assets_base_urls']['http'],$config['assets_base_urls']['ssl'],$config['assets_version'],$config['assets_version_format']);
500+
$container->setDefinition('templating.asset.default_package',$defaultPackage);
501+
$namedPackages =array();
502+
foreach ($config['packages']as$name =>$package) {
503+
$namedPackage =$this->createTemplatingPackageDefinition($container,$package['base_urls']['http'],$package['base_urls']['ssl'],$package['version'],$package['version_format'],$name);
504+
$container->setDefinition('templating.asset.package.'.$name,$namedPackage);
505+
$namedPackages[$name] =newReference('templating.asset.package.'.$name);
506+
}
507+
}
480508

509+
if ($container->getParameter('kernel.debug')) {
481510
$logger =newReference('logger', ContainerInterface::IGNORE_ON_INVALID_REFERENCE);
482511

483512
$container->getDefinition('templating.loader.cache')
@@ -486,25 +515,8 @@ private function registerTemplatingConfiguration(array $config, $ide, ContainerB
486515
$container->getDefinition('templating.loader.chain')
487516
->addTag('monolog.logger',array('channel' =>'templating'))
488517
->addMethodCall('setLogger',array($logger));
489-
490-
$container->setDefinition('templating.engine.php',$container->findDefinition('debug.templating.engine.php'));
491-
$container->setAlias('debug.templating.engine.php','templating.engine.php');
492518
}
493519

494-
// create package definitions and add them to the assets helper
495-
$defaultPackage =$this->createTemplatingPackageDefinition($container,$config['assets_base_urls']['http'],$config['assets_base_urls']['ssl'],$config['assets_version'],$config['assets_version_format']);
496-
$container->setDefinition('templating.asset.default_package',$defaultPackage);
497-
$namedPackages =array();
498-
foreach ($config['packages']as$name =>$package) {
499-
$namedPackage =$this->createTemplatingPackageDefinition($container,$package['base_urls']['http'],$package['base_urls']['ssl'],$package['version'],$package['version_format'],$name);
500-
$container->setDefinition('templating.asset.package.'.$name,$namedPackage);
501-
$namedPackages[$name] =newReference('templating.asset.package.'.$name);
502-
}
503-
$container->getDefinition('templating.helper.assets')->setArguments(array(
504-
newReference('templating.asset.default_package'),
505-
$namedPackages,
506-
));
507-
508520
if (!empty($config['loaders'])) {
509521
$loaders =array_map(function ($loader) {returnnewReference($loader); },$config['loaders']);
510522

@@ -534,14 +546,6 @@ private function registerTemplatingConfiguration(array $config, $ide, ContainerB
534546
$container->findDefinition('templating.locator')->getClass(),
535547
));
536548

537-
if (in_array('php',$config['engines'],true)) {
538-
$this->addClassesToCompile(array(
539-
'Symfony\\Component\\Templating\\Storage\\FileStorage',
540-
'Symfony\\Bundle\\FrameworkBundle\\Templating\\PhpEngine',
541-
'Symfony\\Bundle\\FrameworkBundle\\Templating\\Loader\\FilesystemLoader',
542-
));
543-
}
544-
545549
$container->setParameter('templating.engines',$config['engines']);
546550
$engines =array_map(function ($engine) {returnnewReference('templating.engine.'.$engine); },$config['engines']);
547551

@@ -554,6 +558,33 @@ private function registerTemplatingConfiguration(array $config, $ide, ContainerB
554558
}
555559
$container->setAlias('templating','templating.engine.delegating');
556560
}
561+
562+
// configure the PHP engine if needed
563+
if (in_array('php',$config['engines'],true)) {
564+
$loader->load('templating_php.xml');
565+
566+
$container->setParameter('templating.helper.form.resources',$config['form']['resources']);
567+
568+
if ($container->getParameter('kernel.debug')) {
569+
$loader->load('templating_debug.xml');
570+
571+
$container->setDefinition('templating.engine.php',$container->findDefinition('debug.templating.engine.php'));
572+
$container->setAlias('debug.templating.engine.php','templating.engine.php');
573+
}
574+
575+
if ($oldAssetsConfigured) {
576+
$container->getDefinition('templating.helper.assets')->setArguments(array(
577+
newReference('templating.asset.default_package'),
578+
$namedPackages,
579+
));
580+
}
581+
582+
$this->addClassesToCompile(array(
583+
'Symfony\\Component\\Templating\\Storage\\FileStorage',
584+
'Symfony\\Bundle\\FrameworkBundle\\Templating\\PhpEngine',
585+
'Symfony\\Bundle\\FrameworkBundle\\Templating\\Loader\\FilesystemLoader',
586+
));
587+
}
557588
}
558589

559590
/**
@@ -692,6 +723,7 @@ private function createPackageDefinition($basePath, array $baseUrls, $version, $
692723
}
693724

694725
$package =newDefinitionDecorator('assets.url_package');
726+
695727
return$package
696728
->setPublic(false)
697729
->replaceArgument(1,$baseUrls)
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?xml version="1.0" ?>
2+
3+
<containerxmlns="http://symfony.com/schema/dic/services"
4+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5+
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
6+
7+
<parameters>
8+
<parameterkey="templating.asset.path_package.class">Symfony\Bundle\FrameworkBundle\Templating\Asset\PathPackage</parameter>
9+
<parameterkey="templating.asset.url_package.class">Symfony\Component\Templating\Asset\UrlPackage</parameter>
10+
<parameterkey="templating.asset.package_factory.class">Symfony\Bundle\FrameworkBundle\Templating\Asset\PackageFactory</parameter>
11+
</parameters>
12+
13+
<services>
14+
<serviceid="templating.asset.path_package"class="%templating.asset.path_package.class%"abstract="true">
15+
<argumenttype="service"id="request" />
16+
<argument /><!-- version-->
17+
<argument /><!-- version format-->
18+
</service>
19+
20+
<serviceid="templating.asset.url_package"class="%templating.asset.url_package.class%"abstract="true">
21+
<argument /><!-- base urls-->
22+
<argument /><!-- version-->
23+
<argument /><!-- version format-->
24+
</service>
25+
26+
<serviceid="templating.asset.request_aware_package"class="Symfony\Component\Templating\Asset\PackageInterface"abstract="true">
27+
<factoryservice="templating.asset.package_factory"method="getPackage" />
28+
<argumenttype="service"id="request"strict="false" />
29+
<argument /><!-- HTTP id-->
30+
<argument /><!-- SSL id-->
31+
</service>
32+
33+
<serviceid="templating.asset.package_factory"class="%templating.asset.package_factory.class%">
34+
<argumenttype="service"id="service_container" />
35+
</service>
36+
</services>
37+
</container>

‎src/Symfony/Bundle/FrameworkBundle/Resources/config/templating.xml‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
<parameterkey="templating.loader.cache.class">Symfony\Component\Templating\Loader\CacheLoader</parameter>
1515
<parameterkey="templating.loader.chain.class">Symfony\Component\Templating\Loader\ChainLoader</parameter>
1616
<parameterkey="templating.finder.class">Symfony\Bundle\FrameworkBundle\CacheWarmer\TemplateFinder</parameter>
17+
<parameterkey="templating.globals.class">Symfony\Bundle\FrameworkBundle\Templating\GlobalVariables</parameter>
1718
</parameters>
1819

1920
<services>
@@ -58,5 +59,9 @@
5859
</service>
5960

6061
<serviceid="templating.loader"alias="templating.loader.filesystem" />
62+
63+
<serviceid="templating.globals"class="%templating.globals.class%">
64+
<argumenttype="service"id="service_container" />
65+
</service>
6166
</services>
6267
</container>

‎src/Symfony/Bundle/FrameworkBundle/Resources/config/templating_php.xml‎

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,6 @@
1818
<parameterkey="templating.helper.stopwatch.class">Symfony\Bundle\FrameworkBundle\Templating\Helper\StopwatchHelper</parameter>
1919
<parameterkey="templating.form.engine.class">Symfony\Component\Form\Extension\Templating\TemplatingRendererEngine</parameter>
2020
<parameterkey="templating.form.renderer.class">Symfony\Component\Form\FormRenderer</parameter>
21-
<parameterkey="templating.globals.class">Symfony\Bundle\FrameworkBundle\Templating\GlobalVariables</parameter>
22-
<parameterkey="templating.asset.path_package.class">Symfony\Bundle\FrameworkBundle\Templating\Asset\PathPackage</parameter>
23-
<parameterkey="templating.asset.url_package.class">Symfony\Component\Templating\Asset\UrlPackage</parameter>
24-
<parameterkey="templating.asset.package_factory.class">Symfony\Bundle\FrameworkBundle\Templating\Asset\PackageFactory</parameter>
2521
</parameters>
2622

2723
<services>
@@ -43,29 +39,6 @@
4339
<argumenttype="collection" /><!-- named packages-->
4440
</service>
4541

46-
<serviceid="templating.asset.path_package"class="%templating.asset.path_package.class%"abstract="true">
47-
<argumenttype="service"id="request" />
48-
<argument /><!-- version-->
49-
<argument /><!-- version format-->
50-
</service>
51-
52-
<serviceid="templating.asset.url_package"class="%templating.asset.url_package.class%"abstract="true">
53-
<argument /><!-- base urls-->
54-
<argument /><!-- version-->
55-
<argument /><!-- version format-->
56-
</service>
57-
58-
<serviceid="templating.asset.request_aware_package"class="Symfony\Component\Templating\Asset\PackageInterface"abstract="true">
59-
<factoryservice="templating.asset.package_factory"method="getPackage" />
60-
<argumenttype="service"id="request"strict="false" />
61-
<argument /><!-- HTTP id-->
62-
<argument /><!-- SSL id-->
63-
</service>
64-
65-
<serviceid="templating.asset.package_factory"class="%templating.asset.package_factory.class%">
66-
<argumenttype="service"id="service_container" />
67-
</service>
68-
6942
<serviceid="templating.helper.request"class="%templating.helper.request.class%">
7043
<tagname="templating.helper"alias="request" />
7144
<argumenttype="service"id="request_stack" />
@@ -117,9 +90,5 @@
11790
<argumenttype="service"id="templating.form.engine" />
11891
<argumenttype="service"id="form.csrf_provider"on-invalid="null" />
11992
</service>
120-
121-
<serviceid="templating.globals"class="%templating.globals.class%">
122-
<argumenttype="service"id="service_container" />
123-
</service>
12493
</services>
12594
</container>

‎src/Symfony/Bundle/TwigBundle/DependencyInjection/Compiler/ExtensionPass.php‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,13 @@ public function process(ContainerBuilder $container)
4545

4646
if ($container->has('assets.packages')) {
4747
$container->getDefinition('twig.extension.assets')->addTag('twig.extension');
48+
}elseif ($container->has('templating.asset.packages')) {
49+
$container->getDefinition('twig.extension.assets')
50+
->setClass('Symfony\Bundle\TwigBundle\Extension\AssetsExtension')
51+
->replaceArgument(0,newReference('service_container'))
52+
->replaceArgument(1,newReference('router.request_context', ContainerInterface::NULL_ON_INVALID_REFERENCE))
53+
->addTag('twig.extension')
54+
;
4855
}
4956
}
5057
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp