gpt4 book ai didi

php - 如何正确地将依赖项(服务)注入(inject) Symfony2 中的非服务类?

转载 作者:行者123 更新时间:2023-12-04 14:38:32 25 4
gpt4 key购买 nike

我已多次阅读 Symfony2 书中的服务容器章节,并阅读了有关该主题的 SO 答案和其他资源,但我似乎仍然没有理解。

到目前为止,我读过的所有内容都在我的脑海中钻进了一个主要真理:容器本身(实际上)不应该直接注入(inject)到依赖项中。这似乎可以很好地为其他服务提供依赖性,但是如果我的模型中的实体想要检查当前的安全上下文呢?

在这种情况下,我知道我可以实现 ContainerAwareInterface,然后从容器感知上下文调用 setContainer() 来访问容器本身,但是这与不惜一切代价避免从服务配置中注入(inject)容器一样吗?

最佳答案

您所描述的只是糟糕的设计。您的模型不应依赖于服务容器。如果您需要执行一些安全检查,那么您将创建一个注入(inject)了必要依赖项的服务,然后将您的模型对象传递给它。

根据您的示例,听起来您正在尝试执行此处描述的验证 http://symfony.com/doc/master/book/validation.html就像我说的那样工作。

关于php - 如何正确地将依赖项(服务)注入(inject) Symfony2 中的非服务类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11377823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com