如何替换 twig/extensions 中的“localizeddate”过滤器

Man*_*ari 6 php symfony twig twig-extension twig-filter

我目前正在将我的项目更新到 Symfony 5.1(我之前使用的是 Symfony 4.1)。

更新时我注意到我无法twig/extensions再安装该软件包,这意味着我无法使用|localizeddate过滤器。

这基本上已经在这里讨论过:Composer can't install Twig Extensions

- twig/extensions v1.5.0 requires twig/twig ~1.27|~2.0
Run Code Online (Sandbox Code Playgroud)

根据我的composer.lock文件,安装了3.0.3

        ...
        {
            "name": "twig/twig",
            "version": "v3.0.3",
            ...
Run Code Online (Sandbox Code Playgroud)

但仅仅说某些东西不再可用并不能解决问题


我现在唯一的用例是以下代码:

{{ comment.publishedAt|localizeddate('medium', 'short', null, 'UTC') }}
Run Code Online (Sandbox Code Playgroud)

对于那些不熟悉的人来说,这是文档页面:https://twig-extensions.readthedocs.io/en/latest/intl.html#localizeddate

是否有其他过滤器或只是另一种方法来替换它?

Man*_*ari 7

它们twig/extensions被分成了多个较小的项目。

所以对于这种情况,我必须这样做

composer require twig/intl-extra
Run Code Online (Sandbox Code Playgroud)

(参见: https: //github.com/twigphp/intl-extra

并将代码替换为:

{{ comment.publishedAt|format_datetime('medium', 'short', null, 'UTC') }}
Run Code Online (Sandbox Code Playgroud)

(代码是否有效,还有待测试)