Php 将注入对象作为参数提供给服务
我试图使用依赖项注入动态地为记录器服务提供解析类(或解析类实例本身)的名称,如下面的代码所示。使用symfonydi是否可能实现这一点,我无法找到解决方案 提前谢谢你 服务.yml Logger.phpPhp 将注入对象作为参数提供给服务,php,symfony,dependency-injection,Php,Symfony,Dependency Injection,我试图使用依赖项注入动态地为记录器服务提供解析类(或解析类实例本身)的名称,如下面的代码所示。使用symfonydi是否可能实现这一点,我无法找到解决方案 提前谢谢你 服务.yml Logger.php 类记录器 { 公共函数构造(字符串$className) { $this->className=$className; } 公共函数日志(字符串$message) { 回显“{$this->className}:{$message}”; } } MyClass.php 使用MyLogger\L
类记录器
{
公共函数构造(字符串$className)
{
$this->className=$className;
}
公共函数日志(字符串$message)
{
回显“{$this->className}:{$message}”;
}
}
MyClass.php
使用MyLogger\Logger;
类MyClass
{
公共函数构造(Logger$Logger)
{
$this->logger=$logger;
}
公共函数getFoo()
{
//应回显:“MyClass:调用getFoo()”
$this->logger->log(“调用getFoo()”);
}
}
Symfony依赖项注入组件中没有任何东西可以为您完成这类工作。这可能会提供您所需要的信息。也许您可以基于Monolog的Symfony依赖项注入组件中没有任何东西可以为您提供此类信息。这可能会提供你需要的信息。也许你可以基于独白的
services:
// ...
MyLogger\Logger:
arguments: ["%className%"] // is it possible to do sth. like this?