代码之家  ›  专栏  ›  技术社区  ›  Thomas Landauer dbNine

Symfony 4.3:用户已弃用:Symfony\Bundle\TwigBundle\Loader\FilesystemLoader类自4.3版起已弃用,并将在5.0中删除

  •  0
  • Thomas Landauer dbNine  · 技术社区  · 5 年前

    升级到Symfony 4.3后,我收到以下22条不推荐警告:

    用户已弃用:的 "模板化.locator" 自Symfony 4.3以来,服务已被弃用,并将在5.0中删除。

    用户已弃用:Symfony\Bundle\FrameworkBundle\Templating\Loader\TemplateLocator类自4.3版起已弃用,并将在5.0中删除;请改用Twig。

    用户已弃用:的 "templating.name_解析器"

    用户已弃用:Symfony\Bundle\FrameworkBundle\Templating\TemplateNameParser类自4.3版起已被弃用,并将在5.0中删除;请改用Twig。

    用户已弃用:使用 “模板化” 服务自4.3版起已弃用,将在5.0中删除;请改用Twig。

    用户已弃用:Symfony\Bridge\Twig\twigenergine类自4.3版起已弃用,将在5.0中删除;请改用\Twig\Environment。

    用户已弃用:Symfony\Bundle\TwigBundle\twigenergine类自4.3版起已弃用,将在5.0中删除;请改用\Twig\Environment。

    2次: 自Symfony 4.3以来,配置已弃用。配置 “细枝” 部分由嫩枝束提供。

    自4.3版起,不推荐启用模板组件,并将在5.0中删除;请改用Twig。

    "templating.cache\u加热器.template_路径“ 自Symfony 4.3以来,服务已被弃用,并将在5.0中删除。

    这个 "模板.finder"

    Symfony\Bundle\FrameworkBundle\cachewarter\TemplateFinder类自4.3版起已被弃用,并将在5.0中删除;请改用Twig。

    Symfony\Bundle\FrameworkBundle\cachewarter\TemplateFinderInterface接口自4.3版起已弃用,并将在5.0中删除;请改用Twig。

    "模板化.locator"

    Symfony\Bundle\FrameworkBundle\Templating\Loader\TemplateLocator类自4.3版起已被弃用,并将在5.0中删除;请改用Twig。

    Symfony\Bundle\FrameworkBundle\Templating\TemplateReference类自4.3版起已被弃用,并将在5.0中删除;请改用Twig。

    这个 "templating.name_解析器" 自Symfony 4.3以来,服务已被弃用,并将在5.0中删除。

    1 回复  |  直到 4 年前
        1
  •  18
  •   Thomas Landauer dbNine    5 年前

    https://symfony.com/blog/new-in-symfony-4-3-deprecated-the-templating-component-integration

    解决方案:

    1. 删除 "symfony/templating" composer.json
    2. 从中删除此 framework.yaml
      templating:
          engines:
              - twig
      
    3. composer update

    如果你得到这个错误

    无法自动连线服务“…”:方法“\u construct()”的参数“$templating”引用接口“Symfony\Bundle\FrameworkBundle\templating\EngineInterface”,但不存在此类服务。你创建了一个实现这个接口的类吗?

    ... 你还在某些服务中使用旧的模板。
    Symfony\Bundle\FrameworkBundle\Templating\EngineInterface Twig\Environment :

    use Twig\Environment;
    
    private $twig;
    
    public function __construct(Environment $twig)
    {
        $this->twig = $twig;
    }
    

    另请参见 https://github.com/symfony/symfony/issues/31645