Я просто пытаюсь очень простой тест
<?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()
Я что-то пропустил?
Да, вам не хватает читать документы. Вы создали строителя. Далее вам нужно получить ди через новый экземпляр. Это то, что вы присвоили переменной блога.
Пожалуйста, рассмотрите чтение, чтобы начать 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();
Пожалуйста, прочитайте документы.
Других решений пока нет …