使用 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 个月后重新阅读代码时,或者当同事加入项目时,这会更明确和更容易理解。
我一直在使用 PHP-DI,我想询问是否有一种方法可以自动将变量注入各种 class 方法,即使用自动装配。
谢谢
您可以使用注释,但这意味着您必须对每个方法进行注释,因此它可能不会像您希望的那样"automatic"。
您还可以使用 wildcards 创建定义:
return [
'MyProject\Controller\*' => DI\object()
->method('setSomething', DI\get('Foo')),
];
但老实说,我建议不要这样做,而是手动编写注入。当 6 个月后重新阅读代码时,或者当同事加入项目时,这会更明确和更容易理解。