मैं PHP7 के लिए नई सुविधाओं को देख रहा हूं और सोचा कि मैं अपनी प्रोजेक्ट को नई सुविधाओं के लिए तैयार करना शुरू कर सकता हूं, जैसे स्केलर टाइप संकेत।टाइपिंग संकेत और एकाधिक कन्स्ट्रक्टर
मुझे सामने आने वाली पहली समस्याओं में से एक विभिन्न वर्गों में मेरे रचनाकार थे।
public function __construct($data = null) {
if (is_numeric($data)) {
$this->controller->createById($data);
}
elseif (is_array($data)) {
$this->controller->createByArray($data);
}
elseif (strlen($data) > 0) {
$this->controller->createByUrl($data);
}
}
इस विधि होगा निश्चित रूप से सभी दिशाओं में त्रुटियों फेंक के लिए प्रकार हिंट का परिचय: मैं कुछ सामान्य contrustors कि कुछ इस तरह काम करता है है।
जहां तक मुझे पता है कि PHP7 एकाधिक रचनाकारों के लिए समर्थन नहीं पेश करता है। क्या इस समस्या को हल करने के कोई तरीके हैं, या यह भाषा की सीमाओं में से एक है?
उस विधि के लिए प्रकार संकेत निर्दिष्ट न करें? –
@ एनबी। हाँ, मुझे पता है कि यह एक संभावना है, लेकिन ओओपी-पृष्ठभूमि से आ रहा है, मैं वास्तव में अपने पूरे कोडबेस को वास्तव में ऑब्जेक्ट उन्मुख होना चाहता हूं;) – OptimusCrime
प्रोग्रामिंग और ओओपी विशेष रूप से समस्याओं को हल करने के लिए हैं। आपको प्रोग्रामिंग के माध्यम से हल करने की कोई समस्या नहीं है, आप ओसीडी से पीड़ित हैं और अब आप भाषा सीमा के लिए ओसीडी को गलत समझते हैं। अफसोस की बात है, यह भाषा सीमा नहीं है। यह सिर्फ आपके पक्ष में कुछ कांटा है क्योंकि आपके पास कुछ मूर्खतापूर्ण कन्स्ट्रक्टर है जो कुछ भी स्वीकार करता है और अब आप 3 रचनाकारों के माध्यम से संकेत टाइप करना चाहते हैं कि मूल्य क्या है। क्या वह वास्तव में "ओओपी" है? जटिल, बेवकूफ कोड जो कोई समस्या हल नहीं करता है? –