Я пытаюсь создать расширение Twig с помощью контейнера службы, но я получаю «ClassNotFoundException».
Здесь исключение:
ClassNotFoundException: Попытка загрузить класс «TwigExtension» из глобального пространства имен в строке \ path \ to \ symfony-simple-blog \ src \ YagoQuinoy \ SimpleBlogBundle \ Twig \ BlogExtension.php 11. Забыл ли вы использовать инструкцию использования для этого класса? Возможно, вам нужно добавить оператор использования для одного из следующих: Symfony \ Bundle \ TwigBundle \ DependencyInjection \ TwigExtension
Здесь код:
Расширение Twig:
namespace YagoQuinoy\SimpleBlogBundle\Twig; /** * Description of BlogExtension * * @author yagoquinoy@gmail.com */ class BlogExtension extends \TwigExtension { public function getFilters() { return array(new \Twig_SimpleFilter('timeAgo', array($this, 'timeAgoFilter'))); } public function timeAgoFilter() { return 'yolo!'; } public function getName() { return 'blog_extension'; } }
service.yml
services: yago_quinoy_simple_blog.twig.blog_extension: class: YagoQuinoy\SimpleBlogBundle\Twig\BlogExtension tags: - { name: twig.extension }
Изменить: Решено.
smarber Twig_Extension не TwigExtension, symfony.com/doc/current/cookbook/templating/twig_extension.html