メモとして残しておく
app/settings.phpの編集
return [
'settings' => [
・・・
// View settings
'view' => [
'template_path' => '{テンプレートのパス}',
'twig' => [
'cache' => '{キャッシュのパス}',
'debug' => true,
'auto_reload' => true,
],
'extension' => [
\Twig_Extension_Debug::class
]
],
・・・
],
];
app/dependencies.phpの編集
<?php
$container = $app->getContainer();
// Twig
$container['view'] = function ($c) {
$settings = $c->get('settings');
$view = new \Slim\Views\Twig($settings['view']['template_path'], $settings['view']['twig']);
// Add extensions
$extensions = $settings['view']['extension'];
foreach ($extensions as $extension_class) {
$view->addExtension(new $extension_class);
}
return $view;
};
viewを表示してみる
public/index.php
<?php
require __DIR__ . '/../vendor/autoload.php';
$settings = require __DIR__ . '/../app/settings.php';
$app = new \Slim\App($settings);
require __DIR__ . '/../app/dependencies.php';
$app->get('/', function ($request, $response, $args) {
$view = $this->get('view');
$view->render($response, '{テンプレートの名前}', []);
return $response;
});
$app->run();