如何通过类中的过滤器(Closure)呈现资源,而外部人员无法查看文件(即不将文件放在web
文件夹中)。应该可以,因为Assetic能够做到这一点。
我已经查看了资产代码,但我无法弄清楚如何做到这一点。
答案 0 :(得分:0)
Kris Wallsmith(资产制造商)帮助我做到了这一点,并帮助我朝着正确的方向前进。
$asset = new FileAsset(__DIR__ . '/../Resources/assets/script.js');
$closureFilter = new CompilerJarFilter(
$this->getContainer()->get('kernel')->getRootDir() . '/Resources/java/compiler.jar'
);
$closureFilter->setCompilationLevel(CompilerJarFilter::COMPILE_ADVANCED_OPTIMIZATIONS);
$asset->ensureFilter($closureFilter);
$script = $asset->dump();