【发布时间】:2015-02-04 20:35:13
【问题描述】:
我正在开发一个 Symfony 2 应用程序。
我有一个使用 Doctrine 管理的对象,它有 private $beginDate 这是一个 \DateTime。
我有一个非常重要的功能:
public function isBefore($timestamp)
{
print_r($this->beginDate);
echo "<br />";
$date = $this->beginDate->format("Y-m-d"); // (line 44)
echo $date;
echo "<br />";
return $this->beginDate->getTimestamp() < $timestamp;
}
第一个 print_r 显示:DateTime 对象([date] => 2015-01-01 00:00:00 [timezone_type] => 3 [timezone] => Europe/Paris)
beginDate->format 给我:错误:在 /var/.../GS/AcmeBundle/Entity/ARecur.php 第 44 行中的非对象上调用成员函数 format()
echo $date 显示:2015-01-01
而$this->beginDate->getTimestamp() 什么也没说,因为第 44 行阻止了其他错误(但没有第 44 行,我在这一行也遇到了同样的错误!)
我的 PHP 版本:
PHP 5.4.4-14+deb7u14 (cli)(构建时间:2014 年 8 月 21 日 08:36:44) 版权所有 (c) 1997-2012 PHP 集团 Zend Engine v2.4.0,版权所有 (c) 1998-2012 Zend Technologies
任何想法(抱歉我的英语不好) 祝你有美好的一天:)
【问题讨论】:
-
如果在
$date = $this->beginDate->format("Y-m-d");上抛出错误,echo $date;将不会显示任何内容您确定错误出现在您正在调试的同一文件的第 44 行吗?
标签: php symfony datetime doctrine