将非静态服务注入Symfony 4.x中全局类的静态属性中吗?

问题描述 投票:-2回答:1

免责声明:这只是一个示例。我只想知道Symfony 4.x中是否可以实现,以及如何实现(最好以一种简洁的方式)。我知道Symfony都是关于依赖注入的,我不是在问如何记录事情或如何进行依赖注入,我只是以记录器为例。我只是想知道这是否可行以及如何实现。

我想知道是否有可能在Symfony 4.x环境中使用实例化对象的静态属性初始化全局类。例如,我想要一个具有静态属性GlobalStaticStuff的全局类$logger,该属性是实例化的LoggerInterface对象:

class GlobalStaticStuff {
    public static $logger;

    public static function setLogger(LoggerInterface $logger) {
        self::$logger = $logger;
    }
}

然后我可以使用LoggerInterface全局访问GlobalStaticStuff::$logger->log(...)实例。

Disclaimer:同样,这只是一个例子。我只想知道Symfony 4.x中是否可以实现,以及如何实现(最好以一种简洁的方式)。我知道Symfony都是关于依赖注入的,我不是问如何记录事情,我只是以记录器为例。

php symfony symfony4 php-7.3
1个回答
0
投票

要回答“可能吗?”的问题,答案似乎是“否”;但是,可以使用自动装配和构建器类作为替代。

请详细阅读问题的评论。

© www.soinside.com 2019 - 2024. All rights reserved.