如何从index.php中呼吁独白



有一个示例与php -di一起使用honolog(来自手册,有2个文件-Index.php和config.php:

<?php
// config.php
use MonologLogger;
use MonologHandlerStreamHandler;
return [
    // ...
    PsrLogLoggerInterface::class => DIfactory(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 DIContainerBuilder;
require __DIR__ . '/../vendor/autoload.php';
$containerBuilder = new ContainerBuilder;
$containerBuilder->addDefinitions(__DIR__ . '/config.php');
$container = $containerBuilder->build();

我现在如何在index.php中使用它?我经常使用单一方法:

$log = new Logger('name'); 
$log->warning('Foo');

但是如何使用容器调用它?我能够以简单的$ cancer-> set((,$ container-> get((模式进行操作。但是,这样使用容器构建器,我找不到一种方法。此外,当我制作var_dump($container)时,其中没有任何记录器的符号。

您需要用:

替换$log = new Logger('name')
$log = $container->get(PsrLogLoggerInterface::class);

请参阅文档的这一部分:http://php-di.org/doc/getting-started.html#3-create-the-bocts

相关内容

  • 没有找到相关文章

最新更新