[AsseticBundle] finished and enabled php templating support
This commit is contained in:
parent
727326b7b8
commit
8d4dae9f2a
@ -37,7 +37,7 @@ class AsseticExtension extends Extension
|
||||
$loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
|
||||
$loader->load('assetic.xml');
|
||||
$loader->load('templating_twig.xml');
|
||||
// $loader->load('templating_php.xml'); // not ready yet
|
||||
$loader->load('templating_php.xml');
|
||||
|
||||
$config = self::processConfigs($configs, $container->getParameter('kernel.debug'), array_keys($container->getParameter('kernel.bundles')));
|
||||
|
||||
|
@ -0,0 +1,81 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony framework.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien.potencier@symfony-project.com>
|
||||
*
|
||||
* This source file is subject to the MIT license that is bundled
|
||||
* with this source code in the file LICENSE.
|
||||
*/
|
||||
|
||||
namespace Symfony\Bundle\AsseticBundle\Factory\Loader;
|
||||
|
||||
use Assetic\Factory\Loader\BasePhpFormulaLoader;
|
||||
|
||||
/**
|
||||
* Loads formulae from Symfony2 PHP templates.
|
||||
*
|
||||
* @author Kris Wallsmith <kris.wallsmith@symfony-project.com>
|
||||
*/
|
||||
class AsseticHelperFormulaLoader extends BasePhpFormulaLoader
|
||||
{
|
||||
protected function registerPrototypes()
|
||||
{
|
||||
return array(
|
||||
'$view[\'assetic\']->assets(*)' => array(),
|
||||
'$view[\'assetic\']->javascripts(*)' => array('output' => 'js/*.js'),
|
||||
'$view[\'assetic\']->stylesheets(*)' => array('output' => 'css/*.css'),
|
||||
'$view["assetic"]->assets(*)' => array(),
|
||||
'$view["assetic"]->javascripts(*)' => array('output' => 'js/*.js'),
|
||||
'$view["assetic"]->stylesheets(*)' => array('output' => 'css/*.css'),
|
||||
'$view->get(\'assetic\')->assets(*)' => array(),
|
||||
'$view->get(\'assetic\')->javascripts(*)' => array('output' => 'js/*.js'),
|
||||
'$view->get(\'assetic\')->stylesheets(*)' => array('output' => 'css/*.css'),
|
||||
'$view->get("assetic")->assets(*)' => array(),
|
||||
'$view->get("assetic")->javascripts(*)' => array('output' => 'js/*.js'),
|
||||
'$view->get("assetic")->stylesheets(*)' => array('output' => 'css/*.css'),
|
||||
);
|
||||
}
|
||||
|
||||
protected function registerSetupCode()
|
||||
{
|
||||
return <<<'EOF'
|
||||
class Helper
|
||||
{
|
||||
public function assets()
|
||||
{
|
||||
global $_call;
|
||||
$_call = func_get_args();
|
||||
}
|
||||
|
||||
public function javascripts()
|
||||
{
|
||||
global $_call;
|
||||
$_call = func_get_args();
|
||||
}
|
||||
|
||||
public function stylesheets()
|
||||
{
|
||||
global $_call;
|
||||
$_call = func_get_args();
|
||||
}
|
||||
}
|
||||
|
||||
class View extends ArrayObject
|
||||
{
|
||||
public function __construct(Helper $helper)
|
||||
{
|
||||
parent::__construct(array('assetic' => $helper));
|
||||
}
|
||||
|
||||
public function get()
|
||||
{
|
||||
return $this['assetic'];
|
||||
}
|
||||
}
|
||||
|
||||
$view = new View(new Helper());
|
||||
EOF;
|
||||
}
|
||||
}
|
@ -9,7 +9,7 @@
|
||||
* with this source code in the file LICENSE.
|
||||
*/
|
||||
|
||||
namespace Symfony\Bundle\AsseticBundle\Factory;
|
||||
namespace Symfony\Bundle\AsseticBundle\Factory\Resource;
|
||||
|
||||
use Assetic\Factory\Resource\DirectoryResource as BaseDirectoryResource;
|
||||
use Symfony\Component\Templating\Loader\LoaderInterface;
|
@ -9,7 +9,7 @@
|
||||
* with this source code in the file LICENSE.
|
||||
*/
|
||||
|
||||
namespace Symfony\Bundle\AsseticBundle\Factory;
|
||||
namespace Symfony\Bundle\AsseticBundle\Factory\Resource;
|
||||
|
||||
use Symfony\Component\Templating\Loader\LoaderInterface;
|
||||
|
@ -9,7 +9,7 @@
|
||||
* with this source code in the file LICENSE.
|
||||
*/
|
||||
|
||||
namespace Symfony\Bundle\AsseticBundle\Factory;
|
||||
namespace Symfony\Bundle\AsseticBundle\Factory\Resource;
|
||||
|
||||
use Assetic\Factory\Resource\ResourceInterface;
|
||||
use Symfony\Bundle\FrameworkBundle\Templating\TemplateReference;
|
@ -11,7 +11,7 @@
|
||||
<parameter key="assetic.cached_formula_loader.class">Assetic\Factory\Loader\CachedFormulaLoader</parameter>
|
||||
<parameter key="assetic.config_cache.class">Assetic\Cache\ConfigCache</parameter>
|
||||
<parameter key="assetic.asset_manager_cache_warmer.class">Symfony\Bundle\AsseticBundle\CacheWarmer\AssetManagerCacheWarmer</parameter>
|
||||
<parameter key="assetic.directory_resource.class">Symfony\Bundle\AsseticBundle\Factory\DirectoryResource</parameter>
|
||||
<parameter key="assetic.directory_resource.class">Symfony\Bundle\AsseticBundle\Factory\Resource\DirectoryResource</parameter>
|
||||
|
||||
<parameter key="assetic.filter.coffee.class">Assetic\Filter\CoffeeScriptFilter</parameter>
|
||||
<parameter key="assetic.filter.cssrewrite.class">Assetic\Filter\CssRewriteFilter</parameter>
|
||||
|
@ -6,8 +6,7 @@
|
||||
|
||||
<parameters>
|
||||
<parameter key="assetic.helper.class">Symfony\Bundle\AsseticBundle\Templating\AsseticHelper</parameter>
|
||||
<parameter key="assetic.php_formula_loader.class">Symfony\Bundle\AsseticBundle\Templating\FormulaLoader</parameter>
|
||||
<parameter key="assetic.php_directory_resource.class"></parameter>
|
||||
<parameter key="assetic.php_formula_loader.class">Symfony\Bundle\AsseticBundle\Factory\Loader\AsseticHelperFormulaLoader</parameter>
|
||||
</parameters>
|
||||
|
||||
<services>
|
||||
@ -28,6 +27,7 @@
|
||||
</service>
|
||||
<service id="assetic.php_formula_loader.real" class="%assetic.php_formula_loader.class%" public="false">
|
||||
<tag name="assetic.templating.php" />
|
||||
<argument type="service" id="assetic.asset_factory" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
||||
|
@ -8,7 +8,6 @@
|
||||
<parameter key="assetic.twig_extension.dynamic.class">Symfony\Bundle\AsseticBundle\Twig\DynamicExtension</parameter>
|
||||
<parameter key="assetic.twig_extension.static.class">Symfony\Bundle\AsseticBundle\Twig\StaticExtension</parameter>
|
||||
<parameter key="assetic.twig_formula_loader.class">Assetic\Extension\Twig\TwigFormulaLoader</parameter>
|
||||
<parameter key="assetic.twig_directory_resource.class"></parameter>
|
||||
</parameters>
|
||||
|
||||
<services>
|
||||
|
@ -90,8 +90,6 @@ class FunctionalTest extends \PHPUnit_Framework_TestCase
|
||||
|
||||
public function testPhpRenderDebug()
|
||||
{
|
||||
$this->markTestIncomplete('PHP templating is not ready yet.');
|
||||
|
||||
$kernel = new TestKernel('test', true);
|
||||
$kernel->boot();
|
||||
$container = $kernel->getContainer();
|
||||
|
@ -6,7 +6,7 @@ framework:
|
||||
secret: xxxxxxxxxx
|
||||
router: { resource: "%kernel.root_dir%/config/routing.yml" }
|
||||
validation: { enabled: true, annotations: true }
|
||||
templating: { engines: ['twig'] }
|
||||
templating: { engines: ['twig', 'php'] }
|
||||
session:
|
||||
default_locale: en
|
||||
lifetime: 3600
|
||||
|
Reference in New Issue
Block a user