2012-01-14 16 views
6

DateTime nesnesini varsayılan olarak now kullanarak isteğe bağlı parametre olarak ayarlamak mümkün müdür?DateTime isteğe bağlı parametre olarak (varsayılan olarak "şimdi" değil, null değil)?

Aşağıdaki kod bana sözdizimi hatası veriyor:

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

O , sadece meraktan meselesi i yapabileceğini biliyorum:

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

cevap

6

Hayır, bir ayarlayamıyor varsayılan işlev/yöntem parametresi olarak nesne. documentation Gönderen: Varsayılan argüman
değerleri

bir işlev C++ tanımlayabilir - stil varsayılan değerleri sayıl argümanlar için ...

bir nesne bir scalar datatype değildir.

İlgili konular