我想创建自己的Assetic过滤器,类似于LESS,SASS和Google Closure Compiler过滤器。

我可以看到过滤器在vendor/assetic/src/Assetic/Filter中,但是显然我不能只修改该代码库。

最佳答案

正确的方法应该是创建一个将业务逻辑封装在DIC中的服务,并使用assetic.filter_manager标签对其进行标记。

例如,内置咖啡脚本过滤器是通过以下方式注册的:

<service id="assetic.filter.coffee" class="%assetic.filter.coffee.class%">
    <tag name="assetic.filter" alias="coffee" />
    <argument>%assetic.filter.coffee.bin%</argument>
    <argument>%assetic.filter.coffee.node%</argument>
</service>


修改代码库绝对是执行此类操作的错误方法,symfony DIC提供了更好的解决方案!

10-04 22:16