Я пытаюсь создать расширение Twig с помощью сервисного контейнера, но получаю «ClassNotFoundException».
Здесь исключение:
ClassNotFoundException: попытка загрузить класс «TwigExtension» из
глобальное пространство имен в
\ Путь \ к \ симфони-простой-блог \ SRC \ YagoQuinoy \ SimpleBlogBundle \ Twig \ BlogExtension.php
строка 11. Вы забыли оператор использования для этого класса? Может ты
необходимо добавить оператор использования для одного из следующих:
Symfony \ Bundle \ TwigBundle \ внедрение зависимости \ TwigExtension
Вот код:
Расширение ветки:
namespace YagoQuinoy\SimpleBlogBundle\Twig;
/**
* Description of BlogExtension
*
* @author [email protected]
*/
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
Задача ещё не решена.
Других решений пока нет …