Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Удаленная работа для IT-специалистов
//bootstrap.php // DI конейнер $container = new League\Container\Container; //автоинъекция зависимостей $container->delegate(new League\Container\ReflectionContainer); //все классы реализующие LoggerAwareInterface будут иметь логгер $container ->inflector('LoggerAwareInterface') ->invokeMethod('setLogger', ['Monolog\Logger']) ; //формируем logger $container->share('Monolog\Logger',function(){ $logger = new \Monolog\Logger('systemLogger'); $logger->pushHandler(new StreamHandler('php://stderr')); return $logger; }); //app.php //логика подключения контроллеров, (обычно реализация с роутингом) $container->get(Controller::class)->index(); //controller.php Class Controller impliments LoggerAwareInterface{ use LoggerAwareTrait; function __construct(){ $this->logger = new Psr\NullLogger; } public function index(){ $this->logger->debug("test"); } }