2011-11-15 27 views
2

我想创建类似于LESS,SASS和Google Closure Compiler过滤器的自己的资产过滤器。如何创建自己的Symfony资产过滤器?

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

+0

为什么你不能只修改代码库?把它叉起来继续。 – hakre

+3

我宁愿不要触摸代码库。 – Tower

回答

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提供更好的解决方案!

+0

添加服务正在修改代码库。 – hakre

+1

不,这不是修改代码库,而是实际工作。 – Tower

+0

这不会修改代码库。这是十倍以上的正确答案。 –