2012-01-14 7 views
6

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; 
} 

उत्तर

6

नहीं, आप एक निर्धारित नहीं कर सकते एक डिफ़ॉल्ट फ़ंक्शन/विधि पैरामीटर के रूप में ऑब्जेक्ट करें। documentation से: - अदिश तर्क के लिए शैली मूलभूत मूल्यों ...

एक वस्तु एक scalar datatype नहीं है

डिफ़ॉल्ट तर्क को महत्व देता
एक समारोह सी परिभाषित कर सकते हैं ++।

संबंधित मुद्दे

 संबंधित मुद्दे