DateTime作为可选参数(默认为“now”,不为null)?

时间:2012-01-14 13:49:17

标签: php datetime parameters

可以使用DateTime默认将now对象设置为可选参数吗?

以下代码为我提供了语法错误

public function getData(array $metrics, DateTime $start,
    DateTime $end = new DateTime, $params = array())
{
    // Default DateTime constructor automatically use "now"
}

只是好奇心问题,我知道我能做到

public function getData(array $metrics, DateTime $start,
    DateTime $end = null, $params = array())
{
    $end = is_null($end) ? new DateTime() : null;
}

1 个答案:

答案 0 :(得分:6)

不,您不能将对象设置为默认函数/方法参数。来自documentation

  

默认参数值
  函数可以为标量参数定义C ++样式的默认值...

对象不是scalar datatype