我想创建自己的Assetic过滤器,类似于LESS,SASS和Google Closure Compiler过滤器。
我可以看到过滤器位于vendor/assetic/src/Assetic/Filter
,但显然我不能只修改该代码库。
答案 0 :(得分:7)
正确的方法应该是创建一个服务,将业务逻辑封装在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提供了更好的解决方案!