Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP Traversable इंटरफेस

परिचय

Traversable एक एब्स्ट्रैक्ट इंटरफेस है, इसलिए इसे किसी क्लास द्वारा सीधे इम्प्लीमेंट नहीं किया जा सकता। आमतौर पर, Iterator या IteratorAggregate इंटरफेस, जो Traversable को एक्सटेंड करते हैं, यह जांचने के लिए उपयोग किए जाते हैं कि इम्प्लीमेंट करने वाली क्लास PHP में foreach कंस्ट्रक्ट का उपयोग करके ट्रैवर्सेबल है या नहीं।

कुछ बिल्ट-इन क्लास जो इस इंटरफेस को इम्प्लीमेंट करती हैं, foreach में उपयोग की जा सकती हैं और इटरेटर इंटरफेस इम्प्लीमेंट करने की आवश्यकता नहीं होती। चूंकि Traversable एक एब्स्ट्रैक्ट इंटरफेस है, इसमें कोई मेथड नहीं होते।

सिंटैक्स

Traversable {
    // 
}

जब IteratorAggregate या Iterator इंटरफेस इम्प्लीमेंट किए जाते हैं जो Traversable को एक्सटेंड करते हैं, तो उन्हें implements क्लॉज में इसके नाम से पहले सूचीबद्ध किया जाना चाहिए।

उपयोग: instanceof Traversable का उपयोग करके जांचें कि कोई मान foreach के साथ पुनरावृत्त करने योग्य है या नहीं:

if ($obj instanceof Traversable) {
    foreach ($obj as $item) { ... }
}

नोट: सरणी Traversable नहीं हैं लेकिन foreach के साथ काम करती हैं। is_iterable() (PHP 7.1+) सरणी और Traversable दोनों के लिए true लौटाता है।

  1. - PHP में इंटरफेस समझाया गया

    इस लेख में, हम PHP इंटरफेस का उपयोग करना सीखेंगे जो PHP ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में सबसे महत्वपूर्ण संरचनात्मक पैटर्न में से एक है। एक इंटरफेस हमें प्रोग्राम बनाने में सक्षम बनाता है, उन पब्लिक मेथड्स को निर्दिष्ट करता है जिन्हें एक क्लास को इम्प्लीमेंट करना होगा, बिना उन विशिष्ट मेथड्स की ज

  1. - PHP में पॉलीमॉर्फिज्म समझाया गया

    शुरुआत में, पॉलीमॉर्फिज्म ग्रीक शब्दों Poly (जिसका अर्थ कई) और morphism (जिसका अर्थ रूप) से लिया गया है। पॉलीमॉर्फिज्म ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में एक पैटर्न का वर्णन करता है जहां विभिन्न क्लासेज में समान काम करने वाले मेथड्स का समान नाम होना चाहिए। पॉलीमॉर्फिज्म अनिवार्य रूप से एक OOP पैटर्न

  1. - PHP में interface_exists() फंक्शन

    PHP में interface_exists() फंक्शन जांचता है कि इंटरफेस परिभाषित किया गया है या नहीं। यदि name_of_interface द्वारा दिया गया इंटरफेस परिभाषित किया गया है तो TRUE लौटाता है, अन्यथा FALSE। सिंटैक्स interface_exists(name_of_interface, autoload) पैरामीटर्स name_of_interface - इंटरफेस नाम। autoload - डि