如何从index.php调用独白?

有一个将Monolog与PHP-DI一起使用的示例(从手册中,有2个文件-index.php和config.php:


<?php

// config.php


use 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)其中没有任何记录器的标志。


Cats萌萌
浏览 96回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP