有一个将Monolog与PHP-DI一起使用的示例(从手册中,有2个文件-index.php和config.php:<?php// config.phpuse Monolog\Logger;use Monolog\Handler\StreamHandler;return [ // ... Psr\Log\LoggerInterface::class => DI\factory(function () { $logger = new Logger('mylog'); $fileHandler = new StreamHandler('path/to/your.log', Logger::DEBUG); $fileHandler->setFormatter(new LineFormatter()); $logger->pushHandler($fileHandler); return $logger; }),];此config.php在以下代码中使用:// index.php use DI\ContainerBuilder;require __DIR__ . '/../vendor/autoload.php';$containerBuilder = new ContainerBuilder;$containerBuilder->addDefinitions(__DIR__ . '/config.php');$container = $containerBuilder->build();我现在如何在index.php中使用它?我经常以这种方式使用Monolog:$log = new Logger('name'); $log->warning('Foo');但是如何用Container调用它呢?我能够在简单的$ container-> set(),$ container-> get()模式下完成此操作。但是以这种方式使用Container Builder,我找不到实现它的方法。而且,当我进行操作时,var_dump($container)其中没有任何记录器的标志。
1 回答
- 1 回答
- 0 关注
- 94 浏览
添加回答
举报
0/150
提交
取消