Symfony 5.4 中有没有办法在应用程序启动时初始化 class

Is there a way in Symfony 5.4 to initialize a class at application's boot

在一个小型 Symfony 5.4 项目中,我想在应用程序启动时初始化一个 class(记录器)。 class 将构建一个单例对象,并让我可以像这样调用记录器 maClass::logger->error().

我翻了一堆关于自动装配的文章。我理解这个概念,但在其他一些 classes 中,我不能使用自动装配,这就是我想这样做的原因。

这是我的新 class:

<?php

namespace App\Core\Service;

use Psr\Log\LoggerInterface;

class CoreService
{
    private LoggerInterface $logger;

    private static LoggerInterface $loggerSingleton;

    public function __construct(LoggerInterface $logger)
    {
        $this->logger = $logger;

        $this->initStatic();
    }

    public function initStatic()
    {
        self::$loggerSingleton = $this->logger;
    }

    public static function logger(): LoggerInterface
    {
        return self::$loggerSingleton;
    }
}

有办法吗?

谢谢。

感谢@ChrisHaas 的帮助。

我重试了 set 方法并且它起作用了,我不得不稍微改变一下我的新方法 class。 我没有在所有控制器中自动装配它,而是创建了一个父控制器,将我的 class(自动装配)初始化为受保护的变量,而不是使用 maClass::logger()->error(),而是 $this->maClass->logger->error().