我正在尝试使用服务容器创建一个 Twig 扩展,但我得到了一个“ClassNotFoundException”。
这里例外:
ClassNotFoundException: Attempted to load class "TwigExtension" from the global namespace in \path\to\symfony-simple-blog\src\YagoQuinoy\SimpleBlogBundle\Twig\BlogExtension.php 第 11 行。你忘记了这个类的使用语句吗?也许您需要为以下之一添加 use 语句: Symfony\Bundle\TwigBundle\DependencyInjection\TwigExtension
这里的代码:
树枝扩展:
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';
}
}
服务.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/template/twig_extension.html