Php 如何准确使用Assetic';小枝的延伸?
我(试着)用Assetic搭配Twig和Slim(所以,没有Symfony)。我想我已经掌握了创建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
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);