class - PHP scope between two classes -


मेरे पास नीचे की तरह कुछ फ़ाइलें हैं:

index.php:

  require_once ( "foo.php"); require_once ( "bar.php");  

foo.php:

  वर्ग foo {function1 () {}}  

bar.php: < / P>

  वर्ग बार {????? }  

मेरा प्रश्न यह है, क्या bar.php फ़ाइल में foo.php फ़ाइल को शामिल किए बिना बार वर्ग में foo वर्ग से function1 तक पहुंचने का कोई तरीका है, क्योंकि यह पहले से ही index.php में लोड हो चुका है?

पहले से धन्यवाद

जब शामिल हो एक फ़ाइल, PHP में, आप वर्तमान फ़ाइल में कुछ भी शामिल नहीं है, लेकिन वर्तमान निष्पादन

में एक फ़ाइल शामिल हो जाने के बाद, यह पीपी इंटरप्रीटर द्वारा सामग्री ज्ञात है - और वर्तमान स्क्रिप्ट के निष्पादन के अंत तक ज्ञात बने रहेंगे।

यह एक छोटी सी कॉपी अपने मौजूदा index.php फ़ाइल के साथ, यह ऐसा है जैसे आपने कोड को foo.php और bar.php से लिया था और कॉपी करें - index.php में पोस्ट किया गया।


एक बार, foo.php एक बार लोड हो चुका है, तो आप किस प्रकार परिभाषित कर सकते हैं यह bar.php से - भले ही उन दो हैं index.php द्वारा शामिल।

(आप एक्सेस से क्या मतलब है थोड़ा अस्पष्ट है, हालांकि: आपको कुछ तरीकों को स्थिर के रूप में घोषित करना होगा , या foo वर्ग instenciate, ... लेकिन यह सब जो शरीर के अंदर से बार में घोषित विधि पर संभव होगा)


एक sidenote के रूप में: आप अपनी फ़ाइल समावेशन से सावधान रहना चाहिए: यदि आप किसी फ़ाइल को घोषित करने वाली फाइल में दो बार शामिल करते हैं, उदाहरण के लिए, आपको एक गंभीर त्रुटि मिल जाएगी, क्योंकि इसे उसी नाम के साथ दो वर्गों को परिभाषित करने से मना किया गया है।

कॉपी-चिपकाने वाले विचार को मैंने पहले के बारे में लिखा है? एक फाइल को दो बार दो बार से अलग करें, दो अलग-अलग फाइलों से भी कॉपी करें- जैसे कोड दो बार चिपकाएं ...

उस समस्या से बचने के लिए, हम अक्सर इसका उपयोग करते हैं, जैसा कि इसका नाम इंगित करता है, एक निश्चित फ़ाइल को केवल एक बार ही शामिल किया जा सकता है।


Comments