在控制器中使用资产(Symfony)

时间:2016-12-13 01:59:22

标签: php symfony twig

目前我有这个Twig代码:

<img class="img-responsive" src="{{ asset('assets/images/features/feature-1.png') }}" alt="">

我可以通过控制器传递该链接吗?

即。说我有这个变量:

$image = 'assets/images/features/feature-1.png';

我需要做什么操作才能让$image拥有它&#34;#34;以这种方式,然后我可以将它传递给Twig并称之为:

<img class="img-responsive" src="{{ image }}" alt="">

1 个答案:

答案 0 :(得分:1)

资产组件确实没有任何神奇之处。 &#34;资产&#34; twig扩展只调用Asset组件并可以附加一个版本字符串。如果您想在控制器中执行此操作,则可以直接使用Asset组件。示例主要来自文档

use Symfony\Component\Asset\Package;
use Symfony\Component\Asset\VersionStrategy\EmptyVersionStrategy;

$package = new Package(new EmptyVersionStrategy());

$imageUrl = $package->getUrl('/image.png');
// Now you can pass the $imageUrl to twig like any other variable.
// result: /image.png

请记住,资产树枝扩展适用于资产组件,而非Assetic,这是一个非常不同的库。

请参阅组件本身的文档。这很简单。

Asset Component on Symfony.com