自分用メモ
TwigCustomFilter.php
<?php
class TwigCustomFilter {
private $customFilterList = [
'ord' => 'twig_ord'
];
public function getCustomFilterList() {
return $this->customFilterList;
}
public function twig_ord($input) {
if (!empty($input)) {
return ord($input);
} else {
return 0;
}
}
}
Twig_Autoloader::register();
$loader = new Twig_Loader_Filesystem($templateDir);
$twig = new Twig_Environment($loader, []);
$twigCustomFilter = new TwigCustomFilter();
$customFilterList = $twigCustomFilter->getCustomFilterList();
foreach ($customFilterList as $filterName => $functionName) {
$filter = new Twig_SimpleFilter($filterName, [$twigCustomFilter, $functionName]);
$twig->addFilter($filter);
}
$template = $twig->loadTemplate($templateFileName);
$template->display($model->getValues());