【发布时间】:2014-04-05 17:12:17
【问题描述】:
查看 Symfony 的 Sylius Bundle 的代码,我注意到 Resource Bundle 有一种将资源控制器定义为服务的有趣方式。 这是 XML 中的购物车项目控制器服务配置
<service id="sylius.controller.cart_item" class="%sylius.controller.cart_item.class%">
<argument type="service">
<service factory-service="sylius.controller.configuration_factory" factory-method="createConfiguration" class="Sylius\Bundle\ResourceBundle\Controller\Configuration">
<argument>sylius</argument>
<argument>cart_item</argument>
<argument>SyliusCartBundle:CartItem</argument>
</service>
</argument>
<call method="setContainer">
<argument type="service" id="service_container" />
</call>
</service>
如果我理解正确,此代码将实例化控制器类并将调用工厂服务类中的工厂方法“createConfiguration”的结果作为构造函数参数传递。参数是指定的,所以一切都很好。
我的问题有两个: 1)这在哪里记录?我在文档中找不到这种参数的一个例子——作为工厂可调用的。 2) 这个的 YAML 版本是什么?
谢谢...
【问题讨论】: