ClassNotFoundException:尝试从全局命名空间加载类“TwigExtension”


ClassNotFoundException: Attempted to load class "TwigExtension" from the global namespace

我正在尝试使用服务容器创建Twig Extension,但是我得到了"ClassNotFoundException"。

这里的例外:

ClassNotFoundException:试图从 中的全局命名空间 ''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 }

编辑:已解决。

斯马伯 Twig_Extension不是树枝扩展, symfony.com/doc/current/cookbook/templating/twig_extension.html

您仍然可以通过在 composer.json 中修复您的 twig 版本来更新到 Symfony 4.4

,方法是运行
composer require twig/twig ~2.0