【发布时间】:2011-11-15 12:15:17
【问题描述】:
我想创建自己的 Assetic 过滤器,类似于那些 LESS、SASS 和 Google Closure Compiler 过滤器。
我可以看到过滤器在vendor/assetic/src/Assetic/Filter 中,但显然我不能只修改那个代码库。
【问题讨论】:
-
为什么不能只修改代码库?分叉并继续。
-
我宁愿不碰代码库。
我想创建自己的 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 提供了更好的解决方案!
【讨论】: