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