gpt4 book ai didi

php - 使用自定义 Doctrine 2 数据类型的依赖注入(inject)

转载 作者:可可西里 更新时间:2023-10-31 23:28:31 25 4
gpt4 key购买 nike

我有与 Dependency injection with custom Doctrine 2 hydrator 几乎相同的问题,但我需要将服务注入(inject)自定义数据类型,而不是水合器。

所引用问题中的解决方案依赖于复制和修改 Doctrine 源代码,因为 Doctrine 会自行初始化类。希望另一种方法适用于自定义数据类型?

这是一个 Symfony3 应用程序,如果可以在那里应用一些魔法的话。

最佳答案

根据初始问题中的评论:

困难在于 Doctrine 如何实例化自定义数据类型。 doctrine 的 Type::addType($name, $className) 方法只需要类名,而不是类的实例。你可以做的是在你的包扩展类中添加你的自定义学说类型,然后在 kernel.request 上注册一个具有所需依赖项的事件监听器服务,并通过调用 将它们设置为你的数据类型>\Doctrine\DBAL\Types::getType($name)->setSomeDependency($dependency);.不过有点乱。

Matthias 的文章很好找。扩展类的 boot() 方法看起来更像是设置依赖项的更自然的地方。

关于php - 使用自定义 Doctrine 2 数据类型的依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38230885/

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