Added the global variable in PHP templates too

This commit is contained in:
Christophe Coevoet 2011-03-16 13:11:29 +01:00
parent 05ab74e7b9
commit 61abc3d01f
6 changed files with 11 additions and 9 deletions

View File

@ -15,6 +15,7 @@
<parameter key="templating.helper.code.class">Symfony\Bundle\FrameworkBundle\Templating\Helper\CodeHelper</parameter>
<parameter key="templating.helper.translator.class">Symfony\Bundle\FrameworkBundle\Templating\Helper\TranslatorHelper</parameter>
<parameter key="templating.helper.form.class">Symfony\Bundle\FrameworkBundle\Templating\Helper\FormHelper</parameter>
<parameter key="templating.globals.class">Symfony\Bundle\FrameworkBundle\Templating\GlobalVariables</parameter>
</parameters>
<services>
@ -71,5 +72,9 @@
<tag name="templating.helper" alias="form" />
<argument type="service" id="templating.engine.php" />
</service>
<service id="templating.globals" class="%templating.globals.class%">
<argument type="service" id="service_container" />
</service>
</services>
</container>

View File

@ -9,7 +9,7 @@
* file that was distributed with this source code.
*/
namespace Symfony\Bundle\TwigBundle;
namespace Symfony\Bundle\FrameworkBundle\Templating;
use Symfony\Component\DependencyInjection\ContainerInterface;

View File

@ -33,11 +33,12 @@ class PhpEngine extends BasePhpEngine implements EngineInterface
* @param ContainerInterface $container The DI container
* @param LoaderInterface $loader A loader instance
*/
public function __construct(TemplateNameParserInterface $parser, ContainerInterface $container, LoaderInterface $loader)
public function __construct(TemplateNameParserInterface $parser, ContainerInterface $container, LoaderInterface $loader, GlobalVariables $globals)
{
$this->container = $container;
parent::__construct($parser, $loader);
$this->addGlobal('app', $globals);
}
/**

View File

@ -7,7 +7,6 @@
<parameters>
<parameter key="twig.class">Twig_Environment</parameter>
<parameter key="twig.loader.class">Symfony\Bundle\TwigBundle\Loader\FilesystemLoader</parameter>
<parameter key="twig.globals.class">Symfony\Bundle\TwigBundle\GlobalVariables</parameter>
<parameter key="templating.engine.twig.class">Symfony\Bundle\TwigBundle\TwigEngine</parameter>
<parameter key="templating.cache_warmer.templates_cache.class">Symfony\Bundle\TwigBundle\CacheWarmer\TemplateCacheCacheWarmer</parameter>
</parameters>
@ -30,11 +29,7 @@
<service id="templating.engine.twig" class="%templating.engine.twig.class%" public="false">
<argument type="service" id="twig" />
<argument type="service" id="templating.name_parser" />
<argument type="service" id="twig.globals" />
</service>
<service id="twig.globals" class="%twig.globals.class%">
<argument type="service" id="service_container" />
<argument type="service" id="templating.globals" />
</service>
<service id="twig.extension.trans" class="Symfony\Bundle\TwigBundle\Extension\TransExtension" public="false">

View File

@ -17,7 +17,7 @@ use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Session;
use Symfony\Component\HttpFoundation\SessionStorage\ArraySessionStorage;
use Symfony\Component\Templating\TemplateNameParser;
use Symfony\Bundle\TwigBundle\GlobalVariables;
use Symfony\Bundle\FrameworkBundle\Templating\GlobalVariables;
class TwigEngineTest extends TestCase
{

View File

@ -12,6 +12,7 @@
namespace Symfony\Bundle\TwigBundle;
use Symfony\Bundle\FrameworkBundle\Templating\EngineInterface;
use Symfony\Bundle\FrameworkBundle\Templating\GlobalVariables;
use Symfony\Component\Templating\TemplateNameParserInterface;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\DependencyInjection\ContainerInterface;