カスタム関数
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));
// カスタム Filter
$view->getEnvironment()->addFilter(new Twig_SimpleFilter('date', function ($string, $format = null) {
if ($format) {
return date($format, $string);
}
return date('Y.m.d', $string);
}));
return $view;
};
使い方
{# unix = 1563116400 #}
{{ unix|hello('Y-m-d') }}
2019-07-15