आपके कोड में 2 बड़ी समस्याएं हैं:
- परिवर्तनीय दृश्यता
- स्थिर कॉल
विस्तार से:
-
उफ़ में आपको वैश्विक चर के बारे में भूल जाना चाहिए। वे एनकैप्सुलेशन के सिद्धांत के खिलाफ हैं। इसके अलावा, आपके कोड में कोई वैश्विक चर भी नहीं है, इसलिए
global $db;
लाइन अर्थहीन है। वर्ग स्तर पर एक निजी $db चर घोषित करें (संपत्ति ) इसे कनेक्शन () मेथड में इनिशियलाइज़ करें और इसे इन्सर्ट मेथड में एक्सेस करें। -
आप कनेक्शन विधि को
classo::connection();
. कह रहे हैं . हालांकि, आपको कनेक्शन विधि को स्थिर घोषित करना होगा। . या तो अपनी कनेक्शन विधि को स्थिर घोषित करें (लेकिन फिर $db को स्थिर में भी बदलें), या इसे $this का उपयोग करके एक नियमित विधि के रूप में कॉल करें।