vivait/twig-safe-date

twig中的安全日期函数,不会将空日期设置为今天的日期。

1.0 2022-06-23 10:13 UTC

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_atnull,则默认过滤器将输出-,如果您想更改这个值,请将新的默认值作为第三个参数传递

{{ post.posted_at|date("d/m/Y", "Europe/London" "Content if null") }}