2011-02-11 6 views
6

शीर्षक के अनुसार, ओओपी के लिए नया है लेकिन स्वयं PHP में पढ़ाया जाता है। हमारे पास प्रक्रियात्मक PHP में निर्मित एक सिस्टम है जिसे अब इसके आकार के कारण संशोधित करना मुश्किल हो रहा है। तो मैं इसे बनाए रखने में आसान बनाने के लिए PHP ओओपी में फिर से लिखने की जांच कर रहा हूं।कक्षाओं में परिभाषित करने के बारे में PHP प्रश्न में नया ओओपी

मैं इस समय कक्षाओं की सूचियां बना रहा हूं। हमारी प्रणाली ड्राइविंग स्कूलों के प्रशासन के लिए है, इसलिए हमारे पास स्कूल, प्रशिक्षकों, विद्यार्थियों और सबक हैं जो मैं देख सकता हूं, सभी ऑब्जेक्ट्स और इसलिए कक्षाएं होंगी। मेरा सवाल इस तथ्य से आता है कि हमारे पास एक स्कूल है लेकिन कई प्रशिक्षकों, विद्यार्थियों और पाठों को एक कार्यक्रम बनाने के दौरान हमें इन वस्तुओं की सूचियों को प्रदर्शित करने की आवश्यकता होगी। इसलिए उनमें से किसी की सूची किसी भी वर्ग को अपने अधिकार में माना जाएगा या जब प्रोग्रामिंग की बात आती है तो प्रत्येक प्रशिक्षक, छात्र और सबक के लिए एक उदाहरण बनाना आवश्यक होगा। या क्या मुझे ओओपी सिस्टम के डिजाइन में कुछ मौलिक याद आ रही है।

जैसा कि मैंने कहा, बस ओओपी काम कर रहा है तो कृपया मेरे साथ सौम्य रहें।

कई धन्यवाद कॉलिन


टिप्पणियाँ अब तक के लिए

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

+3

कोडइग्निटर और केकेपीएचपी जैसे कुछ एमवीसी ढांचे को चेकआउट करें। यह एक बार आप अपने पैरों मॉडल (अनिवार्य रूप से क्या अपने छात्र, शिक्षक, और सबक वर्ग हैं) के साथ गीला हो अपने मामले को संभालने के लिए कैसे स्पष्ट हो जाएगा, और आप एक संरचित, पोषणीय तरह से उनके साथ काम करने में सहज कर सकते हैं। – coreyward

+2

* (टिप) * [उद्यम अनुप्रयोग वास्तुकला के पैटर्न] (http://martinfowler.com/eaaCatalog/index।एचटीएमएल) – Gordon

+2

* (टिप) * [वस्तुओं को प्रक्रियात्मक डिजाइन कनवर्ट करें] (http://sourcemaking.com/refactoring/convert-procedural-design-to-objects) – Gordon

उत्तर

2

आप इसे किसी भी तरह से कर सकते हैं। प्रत्येक के साथ इसके पेशेवर और विपक्ष। यदि आप केवल वस्तुओं की एक सूची चाहते हैं, तो आप केवल उनमें से एक सरणी बना सकते हैं। यह ठीक काम करेगा।

याद रखें कि आपके पास एक वर्ग के भीतर किसी अन्य वर्ग की वस्तुएं हो सकती हैं। तो आपके स्कूल में प्रशिक्षकों की एक सरणी हो सकती है, और विद्यार्थियों की सरणी और पाठों की एक सरणी हो सकती है।

हालांकि, यदि आप चाहते हैं कि उन सूचियों में अतिरिक्त गुण हों, तो आप उन्हें अपने अधिकार में कक्षाओं में भी बना सकते हैं।

2

OOP जटिलता को हरा करने के लिए बनाया गया था, ताकि अगर वहाँ विभिन्न कार्यों की एक संख्या है कि प्रत्येक इकाई के पास है, तो चीजें अपने आप के लिए आसान बनाने के लिए बाद में प्रत्येक इकाई के लिए सड़क वर्गों नीचे जाने के लिए रास्ता है। अगर फ़ंक्शन कॉल एक दूसरे से स्वतंत्र हैं, तो आप ऑब्जेक्ट को तुरंत चालू करने के लिए स्थिर कॉल कर सकते हैं।

3

मैं फ्रेमवर्क भूल जाता हूं .... प्रत्येक की अपनी बारीकियां होती हैं। कुछ लोग तो पहले निम्नलिखित MVC सही ढंग से (Symfony) परेशान नहीं करते हैं और कई अन्यथा सकारात्मक लगातार संस्करण अद्यतन (Zend) करने के लिए बहुत परस्पर विरोधी ट्यूटोरियल धन्यवाद OOP अवधारणाओं का एक असली बुनियादी समझ पाएं, फिर अपनी पसंद का एक ढांचा की बारीकियों को जानने जब और अगर आप उस मार्ग पर जाना चुनते हैं। जबकि मैं ज़ेंड पर प्रमाणित हूं, सिम्फनी में रोज़ाना काम करता हूं और सीआई का काफी उपयोग करता हूं, फिर भी मैं व्यक्तिगत रूप से खुद को रोलिंग करना पसंद करता हूं, खासकर जब भारी अजाजक अनुप्रयोगों में काम करते हैं।

यह काफी समय पहले मेरे लिए अच्छी तरह से काम: http://www.killerphp.com/tutorials/object-oriented-php/

गुड लक। खुले दिमाग रखें और धैर्य रखें। हालांकि ऐसा लगता है कि इसमें बहुत अधिक समय लगेगा, थोड़ी देर के बाद यह दूसरी प्रकृति बन जाती है और वास्तव में बहुत फायदेमंद होती है।

संबंधित मुद्दे