使用激活自动装配的 Symfony 4.4,我想使用设计模式 FactoryMethod 实例化一个类。
实例化的类是具有传递给构造函数的自动装配参数的服务。
如果在工厂方法中实例化的每种类型的类的构造函数都相同,则它会很好地工作。
但是,每个要实例化的服务都必须自动装配一些特定的服务才能工作。
我发现我们可以使用“setter 依赖注入”。描述它的文章:
https://symfonycasts.com/screencast/symfony-fundamentals/logger-trait
https://symfony.com/doc/4.4/service_container/injection_types.html#setter-injection
我试图实现 setter 依赖注入,但里面的代码永远不会执行。
考虑到这些文章,我们应该在调用 __construct 方法后立即使用 PHPDoc“@required”输入设置器(据我了解)。
它不适用于我的代码(见下文)。
我的实现是否正确?
有更好的方法吗?
侃侃无极