Php Symfony-在依赖项注入中使用可调用的as工厂

Php Symfony-在依赖项注入中使用可调用的as工厂,php,symfony,dependency-injection,factory,Php,Symfony,Dependency Injection,Factory,假设我有一个类Foo,我有一个callable,它作为我的类Foo的工厂。例如,它可能类似于以下内容(在这里使用函数,但我的问题涉及通用可调用函数): 我不太了解Symfony,也不知道如何配置依赖项注入组件以将我的可调用组件用作工厂 我看到了,但似乎只允许将类的静态方法用作工厂方法,而不允许使用泛型可调用 有没有一种方法可以在不创建新类的情况下,将泛型可调用函数作为工厂与Symfony依赖项注入组件一起使用?Symfony容器工厂不必使用静态方法,动态方法可以很好地工作。话虽如此,我还不知道有

假设我有一个类
Foo
,我有一个
callable
,它作为我的类
Foo
的工厂。例如,它可能类似于以下内容(在这里使用函数,但我的问题涉及通用可调用函数):

我不太了解
Symfony
,也不知道如何配置依赖项注入组件以将我的可调用组件用作工厂

我看到了,但似乎只允许将类的静态方法用作工厂方法,而不允许使用泛型可调用


有没有一种方法可以在不创建新类的情况下,将泛型可调用函数作为工厂与Symfony依赖项注入组件一起使用?

Symfony容器工厂不必使用静态方法,动态方法可以很好地工作。话虽如此,我还不知道有什么方法可以直接在symfony容器中操纵callable。我想你必须把它封装在一个类中。DIC是编译的,这就是为什么它看起来很难集成。你能提供更多的信息吗?如何提供callable?你有一个包含许多全局变量的文件吗?@Federkun你需要什么样的信息?我正在尝试将Symfony依赖项注入集成到另一个库中。可调用项不是由我定义的。我只知道他们的签名,他们将收到一个ContainerBuilder作为参数,并需要返回所需服务的实例
factory = function (ContainerBuilder $container) : Foo
{
    $foo = // build an instance of Foo, possibly using the $container

    return $foo;
}