从控制器(而非模板)Symfony2中的资产组获取资产URL

时间:2016-04-06 00:18:33

标签: php symfony assetic

我想知道如何从控制器内部加载资产组资产。

我的config.yml:

assetic:
  assets:
    systemassets:
      inputs:
        - 'bundles/belkapanel/js/*.js'
        - 'bundles/belkapanel/router.js'

使用twig,解决方案非常简单:

{% javascripts '@systemassets'%}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}

它将解析路径通配符并生成单个.js文件,其中包含&#34; systemassets&#34;中所有文件的内容。

但是,我想在控制器中获取生成的.js文件。我知道这是可能的,但是阅读symfony的资产包我只发现了AsseticHelper和#34; javascripts&#34;方法,但我不知道如何使用它,我认为它是在packagename和通配符解析后使用的。

/** @var DynamicAsseticHelper $asseticDynamic */
$asseticDynamic = $this->get('assetic.helper.dynamic');

$assets = $asseticDynamic->javascripts('systemassets'); // Doesn't work!

我正在看AsseticTokenParser,我认为这是解决方案,对吗?有人可以帮我找到解决方案吗?

1 个答案:

答案 0 :(得分:0)

这应该有效:

$assets = $asseticDynamic->javascripts(array('@systemassets'));

有关详细信息,请参阅此文档chapter(查看PHP版本)。