PHP कोड के दायरे में, किसी को वस्तुओं की सारणी के लिए प्रकार संकेत की समस्या का सामना करना पड़ सकता है, खासकर जब कोई तर्क किसी फ़ंक्शन को पास किया गया एक ऐरे होने की उम्मीद है। इसके परिणामस्वरूप एक घातक त्रुटि हो सकती है, जो अपेक्षित प्रकार और प्रदत्त मान के बीच बेमेल का संकेत देती है।
इस चुनौती का एक समाधान एक कस्टम सरणी प्रकार को परिभाषित करना है जो मूल \ArrayObject का विस्तार करता है और सदस्यता आवश्यकताओं को लागू करता है। उदाहरण के लिए, Foo ऑब्जेक्ट के लिए निम्नलिखित कस्टम सरणी प्रकार पर विचार करें:
class ArrayOfFoo extends \ArrayObject {
public function offsetSet($key, $val) {
if ($val instanceof Foo) {
return parent::offsetSet($key, $val);
}
throw new \InvalidArgumentException('Value must be a Foo');
}
}
इस कस्टम सरणी प्रकार का उपयोग करके, हम यह सुनिश्चित कर सकते हैं कि सरणी के भीतर सदस्यों के रूप में केवल Foo ऑब्जेक्ट की अनुमति है। यहां इसके उपयोग को प्रदर्शित करने वाला एक उदाहरण दिया गया है:
function workWithFoo(ArrayOfFoo $foos) {
foreach ($foos as $foo) {
// etc.
}
}
$foos = new ArrayOfFoos();
$foos[] = new Foo();
workWithFoo($foos);
यह दृष्टिकोण ऑब्जेक्ट के सरणियों के लिए सख्त प्रकार के संकेत की अनुमति देता है, अमान्य मानों की शुरूआत को रोकता है और आपके कोड की अखंडता सुनिश्चित करता है। इसके अतिरिक्त, हल्डेन लाइब्रेरी एक अधिक व्यापक समाधान प्रदान करती है जो अधिक लचीलेपन की पेशकश करते हुए कस्टम सरणी प्रकारों के लिए सदस्यता आवश्यकता जांच को संभालती है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3