Неустранимая ошибка: Uncaught TypeError: аргумент 1 передан в Slim\Views\Twig

Я продолжаю получать фатальную ошибку: Uncaught TypeError: аргумент 1, переданный в Slim\Views\Twig::__construct(), должен быть экземпляром Twig \ Loader \ LoaderInterface, заданная строка...

Код:

require DIR .'/vendor/autoload.php'; 
$container = new Container(); AppFactory::setContainer($container); 
$app = AppFactory::create(); 
//$twig = new Twig('./templates',['cache'=> false]); 
//$twigMiddleware = new TwigMiddleware($twig, $container, $app->getRouteCollector()
->getRouteParser(), ''); 
//$app->add($twigMiddleware); 
//$routeParser = $app->getRouteCollector()->getRouteParser();
//$twig = new Twig(DIR.'/templates'); 
//$twigMiddleware = new TwigMiddleware($twig, $container,$routeParser); 
//$app->add($twigMiddleware); 
$container->set('view', function(){ return new Twig('./templates', ['cache'=>false]); });
$app->add(TwigMiddleware::createFromContainer($app));

я использую

  "require": {
    "slim/slim": "4.3.0",
    "slim/psr7": "^0.6.0",
    "php-di/php-di": "^6.0",
    "slim/twig-view": "3.x-dev"
}

Пробовал разные варианты (прокомментировал). Кто-нибудь может мне помочь? Я не могу понять это спасибо

1 ответ

Это о версии на веточке, которую вы можете решить, изменив код


    //set view container before create app
    $container->set('view', function () {
        return Twig::create('views', ['cache'], false)
    })

    //and instead adding $twigmiddleware code this at the same line of $twigmiddleware
    $app->add(Twigmiddleware::createFromContainer($app));

это будет работать над новой версией веточки

Другие вопросы по тегам