Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使Assetic与使用细枝名称空间定义的资源一起工作?_Php_Twig_Silex_Assetic - Fatal编程技术网

Php 如何使Assetic与使用细枝名称空间定义的资源一起工作?

Php 如何使Assetic与使用细枝名称空间定义的资源一起工作?,php,twig,silex,assetic,Php,Twig,Silex,Assetic,我试图做一个简单的任务:用Silex处理细枝模板中的资产块。我刚刚注册了TwigServiceProvider和AssetServiceProvider twig解析器可以识别所有my Asset块,但不会将使用名称空间符号(如“@App/image.jpg”)定义的资产添加到资产管理器中。当Assetic试图解析我的资产时,它会生成所有路径,但无法从asset Manager加载资产 我的问题是:资产何时加载到assets Manager对象?我需要做什么才能使我的应用程序在处理细枝模板时自动

我试图做一个简单的任务:用Silex处理细枝模板中的资产块。我刚刚注册了TwigServiceProvider和AssetServiceProvider

twig解析器可以识别所有my Asset块,但不会将使用名称空间符号(如“@App/image.jpg”)定义的资产添加到资产管理器中。当Assetic试图解析我的资产时,它会生成所有路径,但无法从asset Manager加载资产

我的问题是:资产何时加载到assets Manager对象?我需要做什么才能使我的应用程序在处理细枝模板时自动转储和加载所有资产

index.php

$app->register(new Silex\Provider\TwigServiceProvider());

$app->register(new SilexAssetic\AsseticServiceProvider());

$app['assetic.path_to_web'] = __DIR__ . '/assets';
$app['assetic.options'] = array(
    'auto_dump_assets' => true,
    'debug' => true,
);

$app['twig.loader.filesystem']->addPath(__DIR__.'/views', 'App');

if ($app['assetic.options']['auto_dump_assets']){
    $dumper = $app['assetic.dumper'];
    if (isset($app['twig'])) {
        $dumper->addTwigAssets();
    }
    $dumper->dumpAssets();
}

$app->get('/', function(Silex\Application $app) {
    return $app['twig']->render('@App/index.html.twig');
});
{% image '@App/demo.jpg'  %}
<img src="{{ asset_url }}" class="img-responsive"  alt="">
{% endimage %}
index.html.twig

$app->register(new Silex\Provider\TwigServiceProvider());

$app->register(new SilexAssetic\AsseticServiceProvider());

$app['assetic.path_to_web'] = __DIR__ . '/assets';
$app['assetic.options'] = array(
    'auto_dump_assets' => true,
    'debug' => true,
);

$app['twig.loader.filesystem']->addPath(__DIR__.'/views', 'App');

if ($app['assetic.options']['auto_dump_assets']){
    $dumper = $app['assetic.dumper'];
    if (isset($app['twig'])) {
        $dumper->addTwigAssets();
    }
    $dumper->dumpAssets();
}

$app->get('/', function(Silex\Application $app) {
    return $app['twig']->render('@App/index.html.twig');
});
{% image '@App/demo.jpg'  %}
<img src="{{ asset_url }}" class="img-responsive"  alt="">
{% endimage %}
{%image'@App/demo.jpg%}
{%endimage%}
问题在@符号中。当我移除它时,一切正常。但是Assetic知道如何处理名称空间。我希望它能够与名称空间一起工作,因为Symfony应用程序也将使用此模板,现在所有这些模板都可以与@符号一起正常工作