Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.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
PHP:非常大,变量没有意义_Php_Symfony_Datetime_Doctrine - Fatal编程技术网

PHP:非常大,变量没有意义

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 $

我正在开发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 $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一样,我怀疑你看错了文件。