मैं एक अपेक्षाकृत सरल समारोह जो का उपयोग करता है एक foreach
पीएचपी traversable प्रकार संकेत
function foo($t) {
$result;
foreach($t as $val) {
$result = dosomething($result, $val);
}
return $result;
}
मैं संकेत टाइप करने के लिए करना चाहते हैं, और Traversable
मैं
function foo(Traversable $t) {
जरूरत है हालांकि, ठीक वैसी ही संकेत हो रहा है यह एक सरणी का उपयोग करते समय E_RECOVERABLE_ERROR
देता है (जो foreach
में उपयोग करने योग्य है): example
Argument 1 passed to foo() must implement interface Traversable, array given
क्या संकेत टाइप करने का कोई तरीका है या यह संभव नहीं है?
मैनुअल (आपके द्वारा पोस्ट किया गया लिंक): 'सार आधार इंटरफ़ेस जिसे अकेले लागू नहीं किया जा सकता है। इसके बजाय इसे इटरेटरएग्रेगेट या इटरेटर द्वारा कार्यान्वित किया जाना चाहिए। – alfasin
मेरा मानना है कि आप वास्तव में संकेत के रूप में 'सरणी' का उपयोग कर सकते हैं, मैं अपने सिद्धांत का परीक्षण करूंगा, हां आप – Dale
@alfasin कर सकते हैं और इस तरह के किसी वर्ग को 'इटरेटर' लागू करना भी मेल खाता है 'ट्रैवर्सबल', 'इटरेटर' के रूप में 'ट्रैवर्सबल' का एक उप प्रकार है। बेसिक ओओपी-मैकेनिक्स – dtech