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

时间:2018-10-21 21:06:23

标签: php dependency-injection inversion-of-control auraphp

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

<?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()

我想念什么吗?

1 个答案:

答案 0 :(得分:0)

是的,您缺少阅读文档的信息。您已经创建了构建器。接下来,您需要通过新实例获取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();

请阅读文档。