services:
app.twig.demo_extension:
class: LkBundle\Twig\Extension\AppDocsExtension
tags:
- { name: twig.extension }
<?php
namespace LkBundle\Twig\Extension;
/**
* Class AppDocsExtension
* @package LkBundle\Twig\Extension
*/
class AppDocsExtension extends \Twig_Extension
{
/**
* @return string
*/
public function getName()
{
return 'app_documentation_extension';
}
/**
* @return array|\Twig_Function[]
*/
public function getFunctions()
{
return array(
new \Twig_SimpleFunction(
'show_docs',
array($this,'ShowPagerFunction'),
array(
'is_safe' => array('html'),
'needs_environment' => true,
)
),
);
}
/**
* @param \Twig_Environment $environment
* @param $docs
* @return string
* @throws \Twig_Error_Loader
* @throws \Twig_Error_Runtime
* @throws \Twig_Error_Syntax
*/
public function ShowPagerFunction(\Twig_Environment $environment, $documentation)
{
return $environment->render('LkBundle:TwigExtension:docs.html.twig', array('documentation' => $documentation));
}
}