如何使用 Aura Dependency Injector (Aura.Di 3.x)?

How to use Aura Dependency Injector (Aura.Di 3.x)?

我只是在尝试一个非常简单的测试

<?php

require 'vendor/autoload.php';

class Blog
{
    public function post ()
    {
        return 'ok';
    }
}

$builder = new \Aura\Di\ContainerBuilder();
$blog = $builder->newInstance('Blog');
echo $blog->post();

结果为:

Fatal error: Uncaught Error: Call to undefined method Aura\Di\Container::post()

我是不是漏掉了什么?

是的,您没有阅读文档。您已经创建了生成器。接下来,您需要通过新实例获取 di。这是您分配给博客变量的内容。

请考虑阅读入门指南http://auraphp.com/packages/3.x/Di/getting-started.html#1-1-1-2

// autoload and rest of code 
$builder = new \Aura\Di\ContainerBuilder();
$di = $builder->newInstance();

现在创建对象的实例

$blog = $di->newInstance('Blog');
echo $blog->post();

请阅读文档。