मैं PHP 5.2.6 का उपयोग कर रहा हूं। मैं किसी विधि में किसी तर्क के लिए डिफ़ॉल्ट मान रखना चाहता हूं, लेकिन ऐसा लगता है कि मुझे थोड़ा बहुत चालाक मिल रहा है।क्या मैं PHP में वर्ग संपत्ति के साथ एक डिफ़ॉल्ट विधि तर्क स्थापित कर सकता हूं?
कक्षा संपत्ति blnOverwrite
डिफ़ॉल्ट है और कक्षा में कहीं और सेटटेबल है। मेरे पास एक तरीका है जहां मैं इसे फिर से सेटटेबल रखना चाहता हूं, लेकिन मौजूदा मान को ओवरराइड नहीं करना चाहता हूं। जब मैं इसे आज़माता हूं तो मुझे एक त्रुटि मिलती है:
public function place($path, $overwrite = $this->blnOverwrite) { ... }
क्या मुझे ऐसा कुछ करना चाहिए?
public function place($path, $overwrite = NULL) {
if (! is_null($overwrite)) {
$this->blnOverwrite = $overwrite;
}
...
}
हाँ सही तरीका है – Galen