PHP class not found -
मैंने इस प्रश्न को अपना ही हल किया फाइल नाम गलत लोलज़ था।
नमस्ते सब!
मैं एक सीएमएस बना रहा हूँ जैसे कि द्रुपल और जूमला। मैं मॉड्यूल फीचर (प्लगइन्स) पर काम कर रहा हूं, और मुझे निम्न त्रुटि मिली:
घातक त्रुटि: सी: \ wamp \ www \ SYSTEM \ view में क्लास 'सेटिंग्स' नहीं मिलीं। PHP पर लाइन 22
यह मेरा कोड है:
start.php
& lt;? Php // सबसे पहले, कुछ विज्ञापन शीर्षलेख ("X-Powered-By: ZOMFG सीएमएस, और बिल्कुल PHP, लेकिन यह कम महत्वपूर्ण है" के साथ शुरू करें); // फिर कम impotant सामान lololol session_start (); // एक सत्र प्रारंभ करें mysql_connect ($ db_host, $ db_user, $ db_pass); // डेटाबेस mysql_select_db ($ db_name) से कनेक्ट करें; // एक डेटाबेस का चयन करें // लोड कोर need_once ("core.php"); // लोड मॉड्यूल $ res_modules = mysql_query ("SELECT * FROM"। $ _ सर्वर ["db_prefix"]। "मॉड्यूल जहां सक्षम = 1"); Echo mysql_error (); $ Module_exists = सरणी (); जबकि ($ row_modules = mysql_fetch_array ($ res_modules)) {// लोड मॉड्यूल $ name = $ row_modules ["name"]; मॉड्यूल :: load_module ($ नाम); // और इसे eval प्रारंभ ($ नाम। ":: init ();"); // हाँ, यह $ मॉड्यूल_एक्सिस्ट्स [$ name] = true मौजूद है; } // जांचें कि उपयोगकर्ता यदि एक मॉड्यूल से गंदगी चाहता है तो (isset ($ _ GET ["m"])) / हाँ, उपयोगकर्ता यह चाहते हैं {// क्या मॉड्यूल मौजूद है और सक्रिय है, और क्या इसे दृश्य नामक फ़ंक्शन है? अगर (isset ($ मॉड्यूल_एक्सिस्ट्स [$ _ GET ["m"]]) और amp; amp; और amp; amp; method_exists ($ _GET ["m"], "देखें")) / / यॉप {// लोड दृश्य (एक सरणी होना चाहिए) eval ("\ $ मॉड्यूल_दृश्य ="। $ _ प्राप्त करें ["मी"]। :: :: दृश्य (); "); यदि (! Is_array ($ module_view)) // एक सरणी नहीं है :( {error :: e500module ($ _ GET ["m"], $ _SERVER ["REQUEST_URI"]);} else // त्रुटि पूरी स्क्रिप्ट को नष्ट कर देगी , M'kay {view :: index ();}} else // नहीं, तो प्रदर्शन त्रुटि {error :: e404 ($ _ SERVER ['REQUEST_URI'])}}
Settings.php
& lt;? Php वर्ग सेटिंग्स {फ़ंक्शन मिल ($ क्या) {$ result_get = mysql_query ("से चुनें मान FROM"। $ _ सर्वर ["db_prefix"]। "सेटिंग्स कहाँ कुंजी = '$ What' "); अगर (mysql_num_rows ($ result_get) & gt; 0) {$ row_get = mysql_fetch_array ($ result_get); वापसी $ result_get [" value "];} और {return -1;}}}
core.php
& lt;? Php // लोड कोर कक्षाएं require_once ("settings.php"); require_once ("error.php"); require_once ("Theme.php"); require_once ("view.php"); require_once ("modules.php");
view.php
& lt;? Php वर्ग दृश्य {फ़ंक्शन सिर () {शामिल करें ("../ थीम्स /"। सेटिंग्स :: प्राप्त करें ("थीम")। " /head.php "); } फ़ंक्शन पैर () {शामिल करें ("../ थीम्स /"। सेटिंग्स :: प्राप्त करें ("थीम")। "/ Foot.php"); } फ़ंक्शन शेष () {शामिल करें ("../ थीम /"। सेटिंग्स :: प्राप्त करें ("थीम")। "/ Left.php"); } फ़ंक्शन सही () {शामिल करें ("../ थीम्स /"। सेटिंग्स :: प्राप्त करें ("थीम")। "/ Right.php"); } फ़ंक्शन इंडेक्स () {शामिल करें ("../ थीम्स /"। सेटिंग्स :: प्राप्त करें ("थीम")। "/ Index.php"); }}
Start.php स्पष्ट रूप से पहले क्रियान्वित किया जाता है। अन्य पृष्ठों को इसके पहले क्रियान्वित नहीं किया जाता है, customsettings.php को छोड़कर, जिसमें डेटाबेस सूचना शामिल है। यदि मैंने ऊपर $ $ _SERVER ["db_prefix"] का उपयोग किया है तो यह इसलिए है क्योंकि मुझे एक सुपरगलबल की आवश्यकता है जो कस्टमसेटिंग.एफ़पी में है:
customsettings.php
& lt ; Php $ db_host = "स्थानीयहोस्ट"; // डेटाबेस होस्ट $ db_user = "root"; // डाटाबेस यूजर $ db_pass = "आपको यह नहीं पता"; // डेटाबेस पासवर्ड $ db_name = "zomfg"; // डाटाबेस नाम $ _SERVER ["db_prefix"] = "ज़ोम्फग _"; // प्रीफ़िक्स, को सुपर ग्लोबल होना चाहिए
क्या कोई मुझे मदद कर सकता है? ऐसा लगता है कि view.php के सूचकांक समारोह को settings.php से पहले कहा जाता है शामिल है। माफ करना, अगर यह सवाल बड़ा है, तो मुझे सिर्फ स्पष्ट होना है। यह भी मत कहो कि ईवल () बुरा है, मुझे पता है।
इसलिए मैं जानना चाहता हूं कि सेटिंग्स वर्ग क्यों नहीं मिला। यदि आपको अधिक स्रोत कोड की आवश्यकता है, तो कृपया इस प्रश्न पर टिप्पणी करें।
हालांकि आप settings.php देखने के लिए उपलब्ध है। Php क्योंकि यह एक स्क्रिप्ट है कि उन्हें दोनों शामिल था में शामिल किया गया था, मैंने पाया है कि यह आमतौर पर मामला नहीं है। आपके पास कुछ विकल्प हैं:
- प्रत्येक वर्ग की सभी फाइलें हर वर्ग फ़ाइल में की जरूरत है
- एक फ़ंक्शन लिखें जिससे कि PHP आपकी सभी कक्षाओं को ढूंढ सके, जब भी उसे इसकी आवश्यकता हो एक
दूसरा विकल्प अधिक लचीला है।
यदि आप जानना चाहते हैं कि किसी विशिष्ट स्थान से कक्षाएं उपलब्ध हैं, तो आउटपुट की कोशिश करें
Comments
Post a Comment