vivait / twig-safe-date
twig中的安全日期函数,不会将空日期设置为今天的日期。
1.0
2022-06-23 10:13 UTC
Requires
- php: >=7.4
- twig/twig: ^3.0
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is not auto-updated.
Last update: 2024-09-23 00:19:18 UTC
README
twig中的简单过滤器,用于避免诸如:{{ null|date('Y-m-d') }}
之类的问题。
使用twig有方法可以绕过这个问题 - 文档甚至指出
如果传递给日期过滤器的值是null,则默认会返回当前日期。如果希望返回空字符串而不是当前日期,请使用三元运算符
{{ post.published_at is empty ? "" : post.published_at|date("m/d/Y") }}
但通常,人们会忽略这一点。
要求
- PHP >=7.4 或 >= 8.2
- Twig ^3.0
安装 & 使用
composer require vivait/twig-safe-date
一旦需要,将扩展注册到Twig中
$twig = new \Twig_Environment($loader); $twig->addExtension(new TwigSafeDateExtension);
一旦注册,您可以使用过滤器date
输出日期,就像之前一样,但是会发生变化:null值将转换为已知内容(默认:-
),而不是今天的日期
默认格式是'F j, Y H:i.'
(与Twig核心date
过滤器相同)
{{ post.posted_at|date }}
如果您想更改日期的格式,请传递一个参数并指定您喜欢的格式
{{ post.posted_at|date("d/m/Y") }}
如果post.posted_at
是null
,则默认过滤器将输出-
,如果您想更改这个值,请将新的默认值作为第三个参数传递
{{ post.posted_at|date("d/m/Y", "Europe/London" "Content if null") }}