1

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

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

我错过了什么吗?

4

1 回答 1

1

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

请阅读文档。

于 2018-10-24T04:36:29.267 回答