使用 PHP-DI 自动将变量注入 class 方法

Using PHP-DI to inject variables into class methods automatically

我一直在使用 PHP-DI,我想询问是否有一种方法可以自动将变量注入各种 class 方法,即使用自动装配。

谢谢

您可以使用注释,但这意味着您必须对每个方法进行注释,因此它可能不会像您希望的那样"automatic"。

您还可以使用 wildcards 创建定义:

return [
    'MyProject\Controller\*' => DI\object()
        ->method('setSomething', DI\get('Foo')),
];

但老实说,我建议不要这样做,而是手动编写注入。当 6 个月后重新阅读代码时,或者当同事加入项目时,这会更明确和更容易理解。