gpt4 book ai didi

symfony - Symfony-无法注册扩展名 “AppBundle\Twig\Extension\FileExtension”,因为它已被注册

转载 作者:行者123 更新时间:2023-12-03 13:51:37 25 4
gpt4 key购买 nike

当我尝试在Symfony2-project中实现自定义Twig扩展时,出现以下错误:

Unable to register extension "AppBundle\Twig\Extension\FileExtension" as it is already registered.



在我的app/config/services.yml中,我具有以下内容:
parameters:
app.file.twig.extension.class: AppBundle\Twig\Extension\FileExtension

services:
app.twig.file_extension:
class: '%app.file.twig.extension.class%'
tags:
- { name: 'twig.extension' }

在AppBundle/Twig/Extensions/FileExtension中,我有:
<?php

namespace AppBundle\Twig\Extension;

class FileExtension extends \Twig_Extension
{
/**
* Return the functions registered as twig extensions
*
* @return array
*/
public function getFunctions()
{
return array(
new \Twig_SimpleFunction('file_exists', array($this, 'file_exists')),
);
}

public function getName()
{
return 'app_file';
}
}
?>

我试图清除缓存,但无法正常工作。有人知道为什么Twig会渲染两次吗?

最佳答案

正如@Cerad所说,从Symfony 3.3 开始, Twig 扩展名会自动加载,无需在默认services.yml中定义任何内容。

根据official documentation:

If you're using the default services.yml configuration, you're done! Symfony will automatically know about your new service and add the tag.

关于symfony - Symfony-无法注册扩展名 “AppBundle\Twig\Extension\FileExtension”,因为它已被注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46026221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com