Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将注入对象作为参数提供给服务_Php_Symfony_Dependency Injection - Fatal编程技术网

Php 将注入对象作为参数提供给服务

Php 将注入对象作为参数提供给服务,php,symfony,dependency-injection,Php,Symfony,Dependency Injection,我试图使用依赖项注入动态地为记录器服务提供解析类(或解析类实例本身)的名称,如下面的代码所示。使用symfonydi是否可能实现这一点,我无法找到解决方案 提前谢谢你 服务.yml Logger.php 类记录器 { 公共函数构造(字符串$className) { $this->className=$className; } 公共函数日志(字符串$message) { 回显“{$this->className}:{$message}”; } } MyClass.php 使用MyLogger\L

我试图使用依赖项注入动态地为记录器服务提供解析类(或解析类实例本身)的名称,如下面的代码所示。使用symfonydi是否可能实现这一点,我无法找到解决方案

提前谢谢你

服务.yml

Logger.php

类记录器
{
公共函数构造(字符串$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?