カスタム関数
Slim + Twig で View の開発をする場合、
Twig の公式ドキュメントとちょっと異なる書き方になる。
dependencies.php
$container['view'] = function ($c) {
$settings = $c->get('settings')['renderer'];
$view = new Twig($settings['template_path'], [
//'cache' => $settings['template_cache_path'],
]);
$basePath = rtrim(str_ireplace('index.php', '', $c['request']->getUri()->getBasePath()), '/');
$view->addExtension(new TwigExtension($c['router'], $basePath));
// カスタム関数
$view->getEnvironment()->addFunction(new Twig_SimpleFunction('hello', function ($string) {
return "Hello, {$string}";
}));
return $view;
};
使い方
{{ hello('World') }}
Hello, World