PHP:非常大,变量没有意义
我正在开发Symfony 2应用程序。 我有一个对象管理原则,它有PHP:非常大,变量没有意义,php,symfony,datetime,doctrine,Php,Symfony,Datetime,Doctrine,我正在开发Symfony 2应用程序。 我有一个对象管理原则,它有private$beginDate,它是\DateTime 我有一个非常重要的功能: public function isBefore($timestamp) { print_r($this->beginDate); echo "<br />"; $date = $this->beginDate->format("Y-m-d"); // (line 44) echo $
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;
}
公共函数isBefore($timestamp)
{
打印($this->beginDate);
回声“
”;
$date=$this->beginDate->format(“Y-m-d”);/(第44行)
echo$日期;
回声“
”;
返回$this->beginDate->getTimestamp()<$timestamp;
}
第一次打印显示:DateTime对象([date]=>2015-01-01 00:00:00[时区类型]=>3[时区]=>Europe/Paris)
beginDate->format
get me:错误:在/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
有什么想法吗(对不起我的英语不好)
祝您愉快:)删除
echo“
”
并尝试一下,在代码中混用html是不好的 我找到了一个解决方案,虽然不好,但不会使我的应用程序崩溃:
public function isBefore($timestamp)
{
$myDate = json_decode(json_encode($this->beginDate), true);
return strtotime($myDate['date']) < $timestamp;
}
公共函数isBefore($timestamp)
{
$myDate=json_decode(json_encode($this->beginDate),true);
返回strotime($myDate['date'])<$timestamp;
}
这是为了调试,我真正的函数是:public function isBefore($timestamp){return$this->beginDate->getTimestamp()<$timestamp;}它并没有解决问题。打印出$this,看看是否有什么不同,我可以使用DateTime对象([date]=>2015-01-01 00:00:00[timezone\u type]=>3[timezone]=>欧洲/巴黎)那么这就是第一次打印的对象?第二张照片呢?在第二次打印中,只需将$thisappend->format(“Y-m-d”)打印到第一个对象,如果出现错误,那么您就知道它是什么echo$date如果在$date=$this->beginDate->format(“Y-m-d”)上抛出错误,code>将不会显示任何内容代码>是否确定错误位于正在调试的同一文件的第44行?这毫无意义。你是在发布实际代码还是在“清理”?像@STLMikey一样,我怀疑你看错了文件。