Php 如何准确使用Assetic';小枝的延伸?

Php 如何准确使用Assetic';小枝的延伸?,php,twig,assetic,twig-extension,Php,Twig,Assetic,Twig Extension,我(试着)用Assetic搭配Twig和Slim(所以,没有Symfony)。我想我已经掌握了创建AssetCollection的基本知识,但我不太清楚如何在模板中链接此集合 $fm = new FilterManager(); $factory = new AssetFactory(''); $factory->setDebug(true); $factory->setFilterManager($fm); $app->css = $factory->createA

我(试着)用Assetic搭配Twig和Slim(所以,没有Symfony)。我想我已经掌握了创建
AssetCollection
的基本知识,但我不太清楚如何在模板中链接此集合

$fm = new FilterManager();

$factory = new AssetFactory('');
$factory->setDebug(true);
$factory->setFilterManager($fm);

$app->css = $factory->createAsset([
    'assets://css/bootstrap-3.3.1.css',
    'assets://css/bootstrap-custom.css',
    'assets://css/paper.css'
], [
    // Filters here
]);
如果我做类似于
echo$app->css->dump()的事情,它正确地打印出我所有的CSS。太好了,但我怎么把它挂在树枝上呢

项目自述中给出的示例给我留下了比我开始时更多的问题:

{% stylesheets '/path/to/sass/main.sass' filter='sass,?yui_css' output='css/all.css' %}
    <link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}
在我看来,这就像是在构建步骤中运行一次(“循环遍历所有模板”)。但是,我认为Assetic也会支持按需过滤(和缓存)资产。很明显,我不想在每个请求中循环使用所有模板。Twig扩展不应该自动触发对
writeManagerAssets
的相关调用吗

任何帮助都将不胜感激

<?php

use Assetic\AssetWriter;
use Assetic\Extension\Twig\TwigFormulaLoader;
use Assetic\Extension\Twig\TwigResource;
use Assetic\Factory\LazyAssetManager;

$am = new LazyAssetManager($factory);

// enable loading assets from twig templates
$am->setLoader('twig', new TwigFormulaLoader($twig));

// loop through all your templates
foreach ($templates as $template) {
    $resource = new TwigResource($twigLoader, $template);
    $am->addResource($resource, 'twig');
}

$writer = new AssetWriter('/path/to/web');
$writer->writeManagerAssets($am);