जबकि मुझे पता है कि इस सवाल का पहले से ही उत्तर दिया गया है के लिए एक लिंक है ..., मैं जैसे कि लग रहा है मैं यहां मूल्य जोड़ सकता हूं।
मुझे विश्वास नहीं है कि आपको ओओपी सीखने के लिए प्रोग्रामिंग भाषा के रूप में PHP का उपयोग करना चाहिए। यदि आप वेब अनुप्रयोगों के लिए ओओपी सीखना चाहते हैं, तो आपको वास्तव में सी # या जावा देखना चाहिए। एक बार जब आप ओओपी सीख चुके हैं, तो आप इस ज्ञान को PHP पर लागू कर सकते हैं। ओओपी सीखने के लिए इस्तेमाल की जाने वाली पुस्तक का एक उदाहरण Big Java by Cay S. Horstmann
मैं यह क्यों कहूं ??? चूंकि सामानों को कैसे करना है, इस बारे में PHP पर सचमुच लाखों उदाहरण हैं, हालांकि कई प्रोग्राम सही तरीके से प्रोग्राम करने के उदाहरण हैं। इसके अलावा, PHP आपको कई शॉर्टकट लेने की अनुमति देता है, जो जावा की पसंद के साथ स्वीकार्य नहीं होगा। इस प्रकार, यदि आप जावा हेड के साथ PHP प्रोग्राम करते हैं, तो मुझे विश्वास है कि आप एक मजबूत प्रोग्रामर होंगे। ओओपी भाषा विशिष्ट नहीं है, यह एक प्रोग्रामिंग प्रतिमान है।
यदि आपको PHP का उपयोग करके ओओपी सीखना है, तो मैं अनुशंसा करता हूं कि आप गीथब के सार्वजनिक भंडारों में कुछ वास्तविक स्रोत कोड देखें। आप उन्हें packagist.org में खोज सकते हैं। यदि वे एक सभ्य सार्वजनिक भंडार हैं, तो उनमें एक readme.md फ़ाइल होगी जो आपको दिखाएगी कि संगीतकार पैकेज का उपयोग कैसे करें। उदाहरण https://github.com/moltin/laravel-cart एक शॉपिंग कार्ट पैकेज का एक उदाहरण है जिसे आप अपने आवेदन में उपयोग करने में सक्षम होंगे। ध्यान दें कि संकुल क्या करते हैं, यह समझने के लिए आपको पैकेज स्रोत कोड को देखने की आवश्यकता नहीं है। पैकेज लिखा गया है, और आप इस बात पर परवाह नहीं करते कि वे कैसे काम करते हैं, लेकिन आप उनका उपयोग करते हैं ताकि आपको केवल यह जानने की आवश्यकता हो कि उनका उपयोग कैसे किया जाए। यह वही है जो ओओपी के बारे में है।
मुझे परवाह नहीं है कि शॉपिंग कार्ट क्लास कार्ट में एक आइटम कैसे जोड़ती है, मैं बस एक नया कार्ट बनाना चाहता हूं और इसमें कुछ जोड़ना चाहता हूं।
हालांकि आप क्या कर रहे हैं, यह समझने के लिए कि ओओपी कैसे काम करता है, स्रोत कोड में डाइविंग कर रहा है।
इसके अलावा, और शायद अधिक महत्वपूर्ण बात यह है कि वेब अनुप्रयोग विकास के लिए, मैं एमवीसी डिजाइन पैटर्न का शोध करूंगा।
एमवीसी डिजाइन पैटर्न मॉडल, व्यू, कंट्रोलर के लिए खड़ा है। वेब अनुप्रयोग के मामले में, मॉडल डेटाबेस को मॉडलिंग के लिए ज़िम्मेदार है, दृश्य उपयोगकर्ता को सामग्री प्रदर्शित करने के लिए ज़िम्मेदार है। नियंत्रक मॉडल के साथ बातचीत करने और उपयोगकर्ता इनपुट को संभालने के लिए ज़िम्मेदार है।
मुझे लगता है कि आपको अपनी स्थानीय मशीन पर Laravel Framework या अन्य "सभ्य आधुनिक ढांचे" को स्थापित करने का प्रयास करना चाहिए। मैं आधुनिक क्यों कहता हूं, क्योंकि आधुनिक ढांचे के लिए 5.3+ के एक न्यूनतम PHP संस्करण की आवश्यकता होती है जिसका अर्थ है कि आपकी मशीन पर PHP वास्तविक ओओपी का समर्थन करेगा जो आपको जावा की पसंद से प्राप्त होगा।
कई ट्यूटोरियल हैं जो आपको दिखाएंगे कि लार्वेल में वेब एप्लिकेशन कैसे बनाएं। तत्काल, आप देखेंगे कि जब आप नियंत्रक बनाते हैं, तो आप बेसकंट्रोलर का विस्तार करते हैं। जब आप कोई मॉडल बनाते हैं, तो आप eloquent का विस्तार करते हैं। इसका मतलब है कि आप पहले से ही अपने कोड में पॉलिमॉर्फिज्म का उपयोग करेंगे। आप देखेंगे कि कक्षाओं का उपयोग करके, उन्हें encapsulated किया जा रहा है, और आप देखेंगे कि प्रत्येक वर्ग की एक विशिष्ट भूमिका है।
जब आप डेटाबेस से बातचीत करना चाहते हैं, तो आप प्रारंभ में नियंत्रक विधियों के भीतर new Model
ऑब्जेक्ट बनायेंगे। जैसे ही आप और जानना शुरू करते हैं, आप सीखना शुरू कर देंगे कि कैसे नियंत्रक में निर्भरता को इंजेक्ट करना है, फिर सीखना कि कैसे अपने मॉडल को डंप करना और रिपॉजिटरीज़ और प्रोग्राम को इसके बजाय इंटरफ़ेस बनाना है।
शुरुआती के लिए लारवेल सीखने पर एक सभ्य पुस्तक https://leanpub.com/codebright डेल रीस द्वारा होगी। मैं लगभग 2 हफ्ते पहले लार्वेल मीटिंग में डेल से मिला था।
इसके अलावा इस के लिए
, जैसा कि आप और अधिक कुशल निर्माण वेब अनुप्रयोगों हो जाते हैं, आप जानने के लिए कैसे अपने प्रोग्रामिंग करने के लिए निम्नलिखित सिद्धांतों को लागू करने शुरू कर देंगे:
- एकल जिम्मेदारी सिद्धांत
- ओपन बंद सिद्धांत
- लिस्कोव प्रतिस्थापन सिद्धांत
- इंटरफ़ेस सेगमेंट सिद्धांत
- निर्भरता उलटा सिद्धांत
** कृपया यह भी देखें: ** "शब्दजाल से मुक्त तुलना OOP प्रक्रियात्मक बनाम": http://stackoverflow.com/questions/1530868 – dreftymac