弃用 twig 过滤器,改用 Twig_SimpleFilter
Deprecation of twig filters, use Twig_SimpleFilter instead
我使用的是 Symfony 2.3,我的分析器中有与 Twig 相关的弃用警告。如:
DEPRECATION - Using "replace" with character by character replacement is deprecated
and will be removed in Twig 2.0
而且 |replace
标签似乎仍然是 Twig 文档的一部分,所以我对如何处理这个警告有点困惑。
此外,我从我使用的第三方捆绑包中收到类似的弃用警告。
- 有解决这个问题的简单方法吗?
- 如果我从 2.3 升级到 2.7,这会成为问题吗?
事实上,修复它的唯一方法是替换所有已弃用的函数。
但是只有当你通过以下方式升级你的树枝包时,这才会引起麻烦:
如果您的 composer.json
标签不是版本(例如 "twig/extensions": "1.*",
)
,请更新 Composer
如果你用需要 twig 的版本升级你的 symfony 2.x
事实上,如果您继续使用此版本,您的项目将不会受到此警告的影响。
您需要更改传递 参数的方式 以替换 twig 中的函数:
- 之前:{{str |替换 ('a','b') }}
- 现在:{{str |替换 ({'a': 'b'}) }}
以前是两个参数,现在是数组。
您可以查看代码源,它不是 replace twig_replace_filter 函数,该函数已被弃用,但只有一种调用方式:https://github.com/twigphp/Twig/blob/1.x/lib/Twig/Extension/Core.php#L534
请注意,twig 文档显示了正确的示例:
http://twig.sensiolabs.org/doc/filters/replace.html
我使用的是 Symfony 2.3,我的分析器中有与 Twig 相关的弃用警告。如:
DEPRECATION - Using "replace" with character by character replacement is deprecated
and will be removed in Twig 2.0
而且 |replace
标签似乎仍然是 Twig 文档的一部分,所以我对如何处理这个警告有点困惑。
此外,我从我使用的第三方捆绑包中收到类似的弃用警告。
- 有解决这个问题的简单方法吗?
- 如果我从 2.3 升级到 2.7,这会成为问题吗?
事实上,修复它的唯一方法是替换所有已弃用的函数。
但是只有当你通过以下方式升级你的树枝包时,这才会引起麻烦:
如果您的
composer.json
标签不是版本(例如"twig/extensions": "1.*",
) ,请更新 Composer
如果你用需要 twig 的版本升级你的 symfony 2.x
事实上,如果您继续使用此版本,您的项目将不会受到此警告的影响。
您需要更改传递 参数的方式 以替换 twig 中的函数:
- 之前:{{str |替换 ('a','b') }}
- 现在:{{str |替换 ({'a': 'b'}) }}
以前是两个参数,现在是数组。
您可以查看代码源,它不是 replace twig_replace_filter 函数,该函数已被弃用,但只有一种调用方式:https://github.com/twigphp/Twig/blob/1.x/lib/Twig/Extension/Core.php#L534
请注意,twig 文档显示了正确的示例: http://twig.sensiolabs.org/doc/filters/replace.html