/** * Extension filters * * @return array */ public function getFilters() { return [new \Twig_SimpleFilter('camel_case', [$this->str, 'camel']), new \Twig_SimpleFilter('snake_case', [$this->str, 'snake']), new \Twig_SimpleFilter('studly_case', [$this->str, 'studly']), new \Twig_SimpleFilter('humanize', [$this->str, 'humanize']), new \Twig_SimpleFilter('str_*', function ($name) { $arguments = array_slice(func_get_args(), 1); return call_user_func_array([$this->str, camel_case($name)], $arguments); }), new \Twig_SimpleFilter('figlet', function (\Twig_Environment $env, $text, $font = null, $fontDir = null) { $figlet = new Figlet(); if ($font === null) { $font = $env->getExtension('builder')->getDefaultFigletFont(); $fontDir = __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'resources' . DIRECTORY_SEPARATOR . 'figlet' . DIRECTORY_SEPARATOR; } $figlet->loadFont($font, $fontDir); return $figlet->render($text); }, ['needs_environment' => true])]; }