查看 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 版本?
谢谢...