Slim Twig View return $view as null when used in render function

Slim Twig View return $view as null when used in render function

您好,我在渲染页面时遇到问题,希望有人能帮助我。 我尝试过更改目录结构以及使用类似代码创建一个新项目,但对我来说没有任何效果。

routes.php

<?php

$app->get('/home' , function() {
return $this->view->render($response,'home.twig');
});

app.php

<?php
session_start();
require __DIR__ . '/../vendor/autoload.php';

$app = new \Slim\App([
    'settings'=> [
        'displayErrorDetails' => true,
    ]
]);

$container = $app->getContainer();

// Register component on container
$container['view'] = function ($container) {
    $view = new \Slim\Views\Twig(__DIR__.'/../resources/views', [
        'cache' => __DIR__.'../cache',
    ]);

    // Instantiate and add Slim specific extension
    $view->addExtension(new Slim\Views\TwigExtension(
        $container['router'],
        $container['request']->getUri()

    ));

    return $view;
};

require __DIR__ . '/../app/routes.php';

index.php

<?php
require __DIR__ . '/../bootstrap/app.php';
$app->run();

Slim templates section

闭包需要额外的参数 routes.php:

// Render Twig template in route
$app->get('/home', function ($request, $response) {
    return $this->view->render($response, 'home.twig');
});