symfony2 中 guzzle 客户端包中标记 "guzzle.client" 的目的是什么?

What is the purpose of tag "guzzle.client" in guzzle client bundle in symfony2 ?

我在 symfony2 项目中使用 guzzle 客户端包,我检查了此处提供的配置: https://github.com/misd-service-development/guzzle-bundle/blob/master/Resources/doc/clients.md

// MyBundle/Resources/config/services.xml

<service id="example.client" class="%guzzle.client.class%">
    <tag name="guzzle.client"/>
    <argument>http://api.example.com/</argument>
</service>

如果有人能解释为什么我们需要标签,那就太好了。

guzzle 包使用 compiler pass 将包的侦听器添加到定义的 clients/services。

编译器阶段还会为您的客户端添加对 guzzle 插件的订阅。

重要代码在这里:https://github.com/misd-service-development/guzzle-bundle/blob/master/DependencyInjection/Compiler/ClientCompilerPass.php