0

我正在尝试使用服务容器创建一个 Twig 扩展,但我得到了一个“ClassNotFoundException”。

这里例外:

ClassNotFoundException: Attempted to load class "TwigExtension" from the global namespace in \path\to\symfony-simple-blog\src\YagoQuinoy\SimpleBlogBu​​ndle\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

4

1 回答 1

0

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

composer require twig/twig ~2.0
于 2022-03-05T10:04:58.153 回答