Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 2细枝|日期()不工作?_Symfony_Twig_Symfony 2.2 - Fatal编程技术网

Symfony 2细枝|日期()不工作?

Symfony 2细枝|日期()不工作?,symfony,twig,symfony-2.2,Symfony,Twig,Symfony 2.2,我有一个小问题,我真的不知道为什么。我用| date()打印twig中的datetime变量,但它总是打印实际时间 为了进行调试,我在模板中添加了以下代码: <pre> {% debug entity.getCreatedAt|date("d.m.Y H:i:s") %} {% debug entity.getCreatedAt|raw %} {% debug entity.CreatedAt|raw %} {% debug entity.CreatedAt|date("d.m.Y

我有一个小问题,我真的不知道为什么。我用| date()打印twig中的datetime变量,但它总是打印实际时间

为了进行调试,我在模板中添加了以下代码:

<pre>
{% debug entity.getCreatedAt|date("d.m.Y H:i:s") %}
{% debug entity.getCreatedAt|raw %}
{% debug entity.CreatedAt|raw %}
{% debug entity.CreatedAt|date("d.m.Y H:i:s") %}
我不明白为什么我一调用CreatedAt它就为NULL。在debug标记之外,它总是空的,不依赖于写入

在我的实体中,我有:

CreatedAt:
  type: datetime
  nullable: true
在YML中,我有:

CreatedAt:
  type: datetime
  nullable: true
有人看到错误了吗??我真的没找到,也许是虫子


谢谢

如果你想在实体类之外访问你的private变量
$CreatedAt
,你必须调用publicgetter方法
getCreatedAt()
(这就是它的用途)

在细枝模板中,当调用
{%debug entity.CreatedAt | date(“d.m.Y H:i:s”)%}
时,由于
entity.CreatedAt
NULL
,因此返回的字符串基于新的日期对象:

如果传递给日期筛选器的值为空,则默认情况下它将返回当前日期

更新:

正如@insertusernamehere所提到的,twig会自动调用公共getter。
但这种行为似乎只有在
{{}}
上使用分隔符
{%}
时才会发生


如果要在实体类之外访问private变量
$CreatedAt
,必须调用publicgetter方法
getCreatedAt()
(这就是它的用途)

在细枝模板中,当调用
{%debug entity.CreatedAt | date(“d.m.Y H:i:s”)%}
时,由于
entity.CreatedAt
NULL
,因此返回的字符串基于新的日期对象:

如果传递给日期筛选器的值为空,则默认情况下它将返回当前日期

更新:

正如@insertusernamehere所提到的,twig会自动调用公共getter。
但这种行为似乎只有在
{{}}
上使用分隔符
{%}
时才会发生


在PHP中,成员函数不区分大小写,类成员区分大小写。因此,
getCreatedAt
getCreatedAt
一样有效,但是
CreatedAt
CreatedAt
不同


下面是一些关于这方面的进一步信息:.

在PHP中,成员函数不区分大小写,类成员区分大小写。因此,
getCreatedAt
getCreatedAt
一样有效,但是
CreatedAt
CreatedAt
不同



这里有一些关于这方面的进一步信息:。

实际上,Twig将为您调用getter方法。感谢您的回答,我也使用public$createdAt尝试了它,但它并没有改变这种行为。我认为最有趣的是,在{%debug entity.getcreatedat | date(“d.m.Y H:I:s”)%%中,我得到了正确的结果,但是没有debug,我得到了NULL。。。这是我真正不知道的understand@insertusernamehere起初我同意你的看法,但你确定当对象是在
{%}
之间访问而不是
{{}
之间访问时,情况就是这样吗?看来你是对的。将public添加到CreatedAt并使用entity.CreatedAt | date(“d.m.Y H:i:s”)打印它,它现在正在工作。但例如,我还得到了一个字符串“private$PersonGender”;这个字符串也是以私有模式打印的,只有我需要公共的datetime。也许这是因为它需要在public方法上做一些->format()工作?如果你使用
{entity.CreatedAt | date(“d.m.Y H:i:s”)}
你没有得到预期的结果吗?实际上,Twig会为你调用getter方法。谢谢你的回答,我也用public$CreatedAt尝试了它,但它没有改变这种行为。我认为最有趣的是,在{%debug entity.getcreatedat | date(“d.m.Y H:I:s”)%%中,我得到了正确的结果,但是没有debug,我得到了NULL。。。这是我真正不知道的understand@insertusernamehere起初我同意你的看法,但你确定当对象是在
{%}
之间访问而不是
{{}
之间访问时,情况就是这样吗?看来你是对的。将public添加到CreatedAt并使用entity.CreatedAt | date(“d.m.Y H:i:s”)打印它,它现在正在工作。但例如,我还得到了一个字符串“private$PersonGender”;这个字符串也是以私有模式打印的,只有我需要公共的datetime。也许这是因为它需要在public方法上做一些->format()工作?如果使用
{entity.CreatedAt | date(“d.m.Y H:i:s”)}
你没有得到预期的结果吗?Hello insertusernamehere,是的,我知道区分大小写,只是为了显示我的错误。请看一看上面的例子,我会马上更新它。您好insertusernamehere,是的,我知道区分大小写,只是为了显示我的错误。请看一看上面的例子,我会马上更新它。使用
{entity.CreatedAt|date(“d.m.Y H:i:s”)}
,你有相同的结果吗?我已经测试过了,真的无法重现……你用{%debug%}而不是{%debug%}得到相同的结果吗?你好,我今天解决了我的问题,这真是一个愚蠢的错误!我有一个名为CreatedAt()的prePersist类,Twig当然会调用它,并接收NULL。。所以我把我的prePersist类重命名为prePersist(),现在它工作得很好!使用
{entity.CreatedAt|date(“d.m.Y H:i:s”)}
你有相同的结果吗?我已经测试过了,真的无法复制…你用“{%debug%”代替“{%debug%”得到相同的结果吗?你好,Cheesemafly,我今天解决了我的问题-这真是一个愚蠢的错误!我有一个名为CreatedAt()的prePersist类,Twig当然会调用它,并接收NULL。。所以我把我的prePersist类重命名为prePersist(),现在它工作得很好!
CreatedAt:
  type: datetime
  nullable: true