我想创建自己的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提供了更好的解决方案!