PHP class not existing in constructor -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 8 जवाब

मैं अस्पष्ट शीर्षक के लिए माफी चाहता हूं , मैं किसी भी बेहतर एक के बारे में नहीं सोच सकता मुझे यह त्रुटि मिल रही है:

घातक त्रुटि: एक गैर-ऑब्जेक्ट पर सदस्य फंक्शन क्वेरी () को कॉल करें

यह एक वर्ग SPConfig में कन्स्ट्रक्टर के कारण होता है, जिसे एक वर्ग SPClasses के साथ एक साथ देखा जा सकता है:

  $ sp = नए SPClasses (); वर्ग SPClasses {सार्वजनिक $ db, $ config, $ पृष्ठ, $ उपयोगकर्ता; फ़ंक्शन __construct () {// SPDatabase वर्ग [...] $ this- & gt; db = नया SPDatabase (); // SPConfig वर्ग [...] $ this- & gt; config = new SPConfig (); // [...] // SPTemplate वर्ग [...] $ this- & gt; पृष्ठ = नया SPTemplate (); // SPUsers वर्ग [...] $ this- & gt; उपयोगकर्ता = नया SPUsers (); }} वर्ग SPConfig {function __construct () {global $ sp; $ Configquery = $ sp- & gt; db- & gt; क्वेरी ("सेलेक्ट * FROM कॉन्फ़िग", 'कॉन्फिगरेशन पुनर्प्राप्त करना'); जबकि ($ row = mysql_fetch_array ($ configquery)) {try {$ this- & gt; {$ row ['name']} = $ पंक्ति ['मूल्य']; } पकड़ (अपवाद $ ई) {$ debug_log [] = सरणी ('प्रकार' = & gt; त्रुटि ',' सफलता '= & gt; झूठी,' पाठ '= & gt;' कॉन्फ़िग सेटिंग & lt; i & gt; '$। पंक्ति ['config_value']। '& Lt; / i & gt; में एक अमान्य नाम है।'); }}} सार्वजनिक फ़ंक्शन अपडेट () {$ this- & gt; __ कंस्ट्रक्ट (); }}  

क्या किसी को पता है कि $ sp- & gt; db में SPClasses कन्स्ट्रक्टर में प्रवेश करना क्यों असंभव है? < / P>

धन्यवाद।

जब तक $ sp का निर्माण हो और सौंपा, यह एक मूल्य नहीं है बात यह है कि कन्स्ट्रक्टर एक SPConfig बनाने की कोशिश करता है, जो अभी भी रिक्त कोड <$> $ sp तक पहुंचने का प्रयास करता है।

इसके लिए काम करने के लिए, निर्माता को या तो $ this या $ this- & gt; db को SPConfig कंस्ट्रक्टर को पास करना होगा।


Comments