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));
}

}