Таким образом, у меня есть контроллер, который я добавил свои зависимости с Pimple следующим образом:
$this->container['Account'] = $this->container->factory(function ($c) {
return new Account(
$c['Menu_builder']
);
});
И когда я захожу на URL любого действия в этом контроллере, он просто говорит:
Message: Argument 1 passed to Account::__construct() must be an instance of Menu_builder, none given, called in website/system/core/CodeIgniter.php on line 482 and defined Filename: controllers/Account.php Line Number: 13
Чтобы загрузить любой класс с зависимостями, я обычно говорю:
$account = $this->container['Account'];
Но я не уверен, где поставить этот вызов в случае контроллера рамки.
Контроллер выглядит так:
class Account extends MY_Controller
{
private $menu_builder;
public function __construct(Menu_builder $menu_builder){
$this->menu_builder = $menu_builder;
}
// ...
}
ВОПРОС:
Что я здесь не так делаю?
Вышеприведенное прекрасно работает для возврата любых классов, кроме контроллеров.
Задача ещё не решена.
Других решений пока нет …