使用Slim Framework 2,您可以使用以下代码设置模板目录:
// Views
$view = $app->view();
$view->setTemplateDirectory('../app/views');
如何使用Slim Framework 3实现这一点?
目前我得到这个错误:
Fatal error: Call to a member function setTemplateDirectory() on null
有人知道如何在SlimFramework3中做到这一点吗?
您可以使用'Slim'Container
实例:
// Create container
$container = new 'Slim'Container;
// Register component on container
$container['view'] = function ($c) {
$view = new 'Slim'Views'Twig('your/path/to/templates');
$view->addExtension(new 'Slim'Views'TwigExtension(
$c['router'],
$c['request']->getUri()
));
return $view;
};
然后你可以使用它:
$app = new 'Slim'App($container);
// The route
$app->get('/foo', function (ServerRequestInterface $request, ResponseInterface $response) {
return $this->view->render($response, 'index.html', [
'name' => 'name'
]);
});
$app->run();
查看官方文件(Mika Tuupola的建议)。