1

我真的很喜欢 Symfony2 DIC 的东西,服务 XML 配置器很容易使用。但是,当我声明一项新服务时,例如:

<service id="form.csrf_provider" class="Symfony\Component\Form\Extension\Csrf\CsrfProvider\SessionCsrfProvider">
  <argument type="service" id="session"/>
  <argument>ThisTokenIsNotSoSecretChangeIt</argument>
</service>

如果我打电话,会话将自动创建

$container->get('form.csrf_provider')

即使我根本不使用它(即使您不使用它,Twig 也会使用它 Form..),并且作为级联效果,创建了许多服务类并且从未使用过!那要花很多钱。

我知道学说对实体使用代理模式,你调用的实体没有加载

$entity->getTitle() // etc....

他们真的应该为服务类做同样的事情(当然只在生产环境中),这将大大改善 Symfony2。我目前的解决方案是将容器本身作为参数传递,但这打破了 DIC 目标;-(

有人有其他解决方案吗?谢谢

4

0 回答 0