Symfony2 Twig extension
I have some problem to implement twig extension. I need to create my own filter (a substr filter). So I have thought to use twig extension.
I created a folder named "Extension" on MyApp\Bundle\WebsiteBundle\ and file : WebsiteExtension.php
namespace Bundle\WebsiteBundle\Extension;
class WebsiteExtension extends \Twig_Extension {
public function getFilters() {
return array(
'substr' => new \Twig_Filter_Method($this, 'substrFilter'),
);
}
public function substrFilter($sentence, $start, $end) {
return substr($sentence, $start, $end);
}
public function getName()
{
return 'website_extension';
}
}
Then on my config.yml on /app/config
services:
Website.twig.extension:
class: MyApp\Bundle\WebsiteBundle\Extension\WebsiteExtension
tags:
- { name: twig.extension }
But error occurs :
"Fatal error: Class 'MyApp\Bundle\WebsiteBundle\Extension\WebsiteExtension' not found in .../appDevDebugProjectContainer.php on line 1391"
It's strange because file and class exists ... I have missed som开发者_开发问答ething but what ?
Replace this
namespace Bundle\WebsiteBundle\Extension;
By this
namespace MyApp\Bundle\WebsiteBundle\Extension;
And for what your need dir Bundle/WebsiteBundle
?
Is Bundle
is not enough?
Your can see here how I implement this https://github.com/azat/blog/blob/master/src/Blog/WebBundle/Twig/Extension/WebExtension.php
精彩评论