Ошибка: Slim экземпляр должен быть Slim\Views\Twig, Slim\Container задан

Я пробую базовые уроки по контейнерам на Youtube, и я застрял в этой части. Я убедился, что дан экземпляр ветки, а не контейнер, но ошибка все равно появляется.

Вот контейнерная часть index.php:

$container['view'] = function ($container)
    {
    $view = new \Slim\Views\Twig('src/Views', ['cache' => false,]);
    $view->addExtension(new \Slim\Views\TwigExtension(
    $container->router,
    $container->request->getUri()
    ));

    return $view;
};

$container['loginController'] = function ($container){

    return new \App\Controllers\LoginController($container->view);
};

маршруты.php:

$app->get('/', 'LoginController:login_redirect');

контроллер.php:

 use Slim\Views\Twig as View;

protected $view;

public function __construct(View $view){
    $this->view = $view;

}

public function login_redirect($request, $response){
    $this->view->render($response, 'testing.twig');

}

person gkhnavarro    schedule 14.06.2016    source источник
comment
Можешь сделать var_dump() на $container ?   -  person Iatrarchy    schedule 02.07.2016


Ответы (1)


Не следует ли здесь передавать $container['view'] в качестве аргумента конструктора вместо $container->view?

$container['loginController'] = function ($container){
    return new \App\Controllers\LoginController($container->view);
};
person Georgy Ivanov    schedule 19.09.2016