2013-02-06 53 views
5

नहीं मिला शीर्षक कहते हैं, जब मैं एक वर्ग का दृष्टांत मैं यह संदेश प्राप्त:घातक त्रुटि RecursiveIteratorIterator

Fatal error: Class 'Envato\RecursiveIteratorIterator' not found in C:\Users\rgr\Apache\htdocs\Roland Groza [ 3.0 ]\class\envato\envato.php on line 359 

आप वर्ग यहाँ देख सकते हैं: Class;

मैं किसी अन्य फ़ाइल से instantiating हूँ:

require("envato.php"); 
$test = new Envato\EnvatoAPIWrapper(); 
echo "User Vitals : ".$test->get_user_vitals("chaoscod3r")."<br>"; 

वर्ग, एक नाम स्थान के साथ लिपटे है इतना है कि यह साथ क्या करने के लिए कुछ हो सकता है, लेकिन मुझे यकीन है कि क्योंकि यह बाद से कुछ साल हो गया है नहीं था मैंने PHP को कोड नहीं किया है। उम्मीद है कि किसी को एक विचार यह क्या है कि मैं गलत कर रहा हूँ :)

उत्तर

10

एक नाम स्थान के अंदर PHP और एसपीएल के आंतरिक वर्गों की तरह गैर namespaced वर्गों तक पहुंचने के लिए की तुलना में आप पूरी तरह से उपयोग करने के लिए इस तरह योग्य वर्ग का नाम:

new \RecursiveIteratorIterator(); 

या शुरुआत में स्पष्ट रूप से इसे आयात:

use \RecursiveIteratorIterator; 

और फिर इसे सामान्य रूप से उपयोग की तरह तुम करते हो।

+0

यह मेरे सभी तरीकों या केवल PHP कोर विधियों के लिए लागू होता है? – Roland

+1

यह सभी गैर-नामित ** कक्षाओं **, उपयोगकर्ता द्वारा परिभाषित या नहीं के लिए लागू होता है। लेकिन कार्यों के लिए नहीं, फ़ंक्शन नामों को गतिशील रूप से हल किया जा सकता है क्योंकि वे ऑटोलोडिंग के अधीन नहीं हैं। –

1

अपने नाम स्थान के शीर्ष पर एक प्रयोग बयान जोड़ें ...

उपयोग \RecursiveIteratorIterator;

है आप तो पीएचपी नहीं करते हैं RecursiveIteratorIterator उम्मीद अपने वर्तमान नाम स्थान के भीतर मौजूद है, बल्कि वैश्विक नामस्थान (प्रमुख \ द्वारा इंगित)