Symfony中通过CoreExtension修改Twig的number_format过滤器默认值的代码放置位置
Symfony 中修改 Twig
number_format 默认设置的方案 方法1:通过配置文件直接修改(首选)
Symfony 已内置 Twig 全局配置支持,无需手动编写PHP代码调用扩展方法,直接在项目的 config/packages/twig.yaml 中添加对应配置即可生效:
twig: number_format: decimals: 3 decimal_point: '.' thousands_separator: ','
修改完成后保存,Symfony 会自动刷新相关缓存,下次渲染 Twig 模板时 number_format 过滤器就会使用你设置的默认参数。如果是 Symfony 3 及更早版本,直接在 app/config/config.yml 的 twig 配置节点下添加上述配置即可。
方法2:通过代码动态修改(适用于需要自定义逻辑的场景)
如果你需要根据业务场景动态调整 number_format 参数(比如不同用户组使用不同的格式规则),可以通过 Twig 配置器实现:
- 新建配置器类
// src/Twig/NumberFormatConfigurator.php namespace App\Twig; use Twig\Environment; use Twig\Extension\CoreExtension; class NumberFormatConfigurator { public function __invoke(Environment $twig) { $twig->getExtension(CoreExtension::class)->setNumberFormat(3, '.', ','); // 此处可添加自定义逻辑动态修改参数 } }
- 注册配置器服务
在config/services.yaml中添加如下配置:
services: App\Twig\NumberFormatConfigurator: tags: ['twig.configurator']
内容的提问来源于stack exchange,提问作者Wadie M
相关产品推荐
相关产品推荐

