PHP-DI使用工厂注解

时间:2018-07-22 10:36:39

标签: php php-di

我有一个创建对象的工厂。

Abbruchprotokoll::class => factory(function(ContainerInterface $c){
    return new Abbruchprotokoll($c->get(Request::class)->getRouterParam('stts-id'), $c->get(MySQL::class));
})

工厂正在使用字符串和依赖项注入(MySQL类)创建该对象。 在我的Abbruchprotokoll::class中,我有一个注入注释:

/**
 * @Inject
 * @var \Smarty
 */
protected $smarty;

问题是此注入注释未解决。我认为这是因为我在FactoryResolver上,没有injectMethodsAndProperties()中的ObjectCreator

我可以通过其他方式在工厂中使用注入注释吗?

1 个答案:

答案 0 :(得分:0)

您不能在工厂中使用批注,而需要使用ionic -vautowire(Abbruchprotokoll::class)要求自动装配该类,以解决注释。