我正在努力创造一个
Calendar class
在其构造函数中使用new DateTime
或留空以使用当前时间。
<?php
class Calendar
{
public $dateTime = null;
public function __construct($dateTime = new DateTime())
{
$this->dateTime = $dateTime;
echo $this->dateTime->format('m-d-Y') . "\n";
}
}
date_default_timezone_set('UTC');
$cal = new Calendar();
?>
但我一直得到这个:
解析错误:第5行/Users/nfior2/www/projects/companies/cortlandt/activities/cal.php中的解析错误
如果我改变第5行
public function __construct($dateTime = new DateTime())
使用int
public function __construct($dateTime=10)
并在不使用function __construct()
的情况下稍微调整DateTime::format
正文...它的效果与我预期的一样。
任何人都可以告诉我这里发生了什么,或者我如何能够找到它的底部?
答案 0 :(得分:1)
您可以尝试以下代码:
<?php
class Calendar
{
public $dateTime = null;
public function __construct($dateTime = null)
{
$this->dateTime = (isset($dateTime)? $dateTime : new DateTime());
echo $this->dateTime->format('m-d-Y') . "\n";
}
}
date_default_timezone_set('UTC');
$test = new DateTime('2000-01-01');
$cal1 = new Calendar($test);
$cal2 = new Calendar();
?>