Às vezes, os filtros Twig fornecidos são insuficientes. Por exemplo, você pode querer camelize
(maiúscula o primeiro caractere de cada palavra em uma string) um valor em vez de apenas capitalize
(maiúsculas o primeiro caractere e cada palavra minúscula em uma string). Felizmente, o Pimple permite adicionar filtros simples à Twig_Environment
classe de uma SilexApplication
função anônima.
<?php
// other silex app bootstrapping aspects omitted
$app->register(new TwigServiceProvider(), array(
'twig.path' => 'assets/views',
));
$app['twig'] = $app->share($app->extend('twig', function($twig) {
$twig->addFilter(new Twig_SimpleFilter('camelize', function ($str) {
return ucwords($str);
}));
return $twig;
}));
Dentro de um galho visualizar o filtro é agora aviable através do nome do filtro definida, ou seja camelize
.
<span id="used-filter">{{ used_filter|camelize }}</span>