PHP कितनी ऑब्जेक्ट ओरिएंटेड है? [बन्द है]


13

मुझे अपने सहकर्मियों के साथ एक दिलचस्प बातचीत करने का मौका मिला। उनमें से ज्यादातर फ्लैश एक्शन स्क्रिप्ट या जावा डेवलपर्स हैं।

हमने इस बारे में बात की कि OOP कितनी अच्छी तरह से संभालता है। मैंने कहा कि PHP लगभग हर OOP सामान को PHP 5.2 या 5.3 के रूप में संभाल सकता है। क्या मै गलत हु? मैं हां / नहीं का जवाब पाने की कोशिश नहीं कर रहा हूं, लेकिन मैं डेवलपर्स से अधिक राय सुनना चाहूंगा।


मैंने उत्तर दिया है कि यहां
मार्टिन विकमैन

12
भाषाएँ बुरी नहीं हैं, प्रोग्रामर हैं

@ जर्रॉड रॉबर्सन: भाषाएँ जन्मजात हैं, ऐसा कैसे? यदि ऐसा है, तो कृपया इस दावे का समर्थन करने वाले शोध को देखें, क्योंकि मुझे इसे पढ़ने में बहुत दिलचस्पी है।
ब्लंडर्स

4
@Jarrod, कुछ वैध रूप से खराब भाषाएं हैं, खासकर जब वे अपने शुरुआती संस्करणों में हैं। Actionscript, Javascript, Java और PHP के शुरुआती संस्करण दिमाग में आते हैं।
जॉर्डन

2
@JarrodRoberson, इसलिए प्रोग्रामर जिन्होंने PHP डिज़ाइन किया है ...
dan_waterworth

जवाबों:


34

PHP 5.3 वास्तव में OOP के लिए काफी सभ्य समर्थन है।

OOP के संबंध में PHP के साथ समस्या यह है, कि OOP को वास्तव में केवल भाषा पर बोल्ट किया गया था, जबकि जावा और एक्शनस्क्रिप्ट जैसी भाषाओं में यह मुख्य अवधारणा का हिस्सा है, हालांकि मैं दोनों ओओपी भाषाओं को उनके खराब ऑब्जेक्ट शब्दार्थ के कारण मानता हूं।

भले ही आजकल PHP OOP के लिए काफी उपयुक्त है, समस्या यह है कि:

  1. PHP (5.3, चौखटे, कस्टम कोड) में कोड बेस का अधिकांश भाग PHP 5.3 में नहीं लिखा गया है
  2. एपीआई का विशाल बहुमत प्रक्रियात्मक है। arrayअभी भी सबसे महत्वपूर्ण और सबसे अधिक इस्तेमाल किया जाने वाला प्रकार है और यह कोई वस्तु नहीं है।
  3. PHP प्रोग्रामर के विशाल बहुमत सिर्फ भविष्य में प्रक्रियात्मक शैली के साथ चिपके रहेंगे। उदाहरण के लिए ऑब्जेक्टिव-सी के विपरीत PHP OOP को बढ़ावा नहीं देती है : ऑब्जेक्टिव-सी में C एक पूर्ण उपसमूह के रूप में है और इस तरह इसके शुद्धतम रूपों में प्रक्रियात्मक प्रोग्रामिंग की अनुमति देता है, लेकिन यह स्पष्ट रूप से OOP के उपयोग का पक्षधर है।

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

व्यक्तिगत रूप से, मैं वास्तव में PHP को नापसंद करता हूं, बस उस सामान, एपीआई और सब कुछ के कारण।
हालांकि Flow3, Symfony, CakePHP और Codeigniter के रूप में चौखटे OOP और अन्य शक्तिशाली प्रतिमानों के लिए एक ठोस आधार प्रदान करते हैं। एक्शनस्क्रिप्ट और जावा की प्रतिबंधितता के कारण, पर्याप्त प्रयास (पीएचपी दोषों के साथ एक अमूर्त परत) के साथ, पीएचपी बराबर या यहां तक ​​कि उन्हें शानदार बना सकता है।

संक्षेप में: PHP की OOP सुविधाओं के साथ कुछ भी गलत नहीं है। इसलिए आप कह सकते हैं कि यह एक खराब OO भाषा नहीं है। हालांकि PHP के साथ विशेष रूप से गलत बहुत सी चीजें हैं, जैसे कि OOP सुविधाएं वास्तव में एकीकृत नहीं हो रही हैं , बल्कि सिर्फ शामिल हैं , इसलिए आप तर्क दे सकते हैं कि यह एक खराब ओओ भाषा है।


4
जिज्ञासा से बाहर, क्या आप बता सकते हैं कि आपको क्यों लगता है कि जावा एक बुरा ओओपी है?
dkuntz2

2
अहम .. मैं आपके उत्तर को Actionscript 3 के लिए विशिष्ट होने के लिए अद्यतन कर सकता हूं । इससे पहले, Actionscript को OO (ECMA-based) होने के लिए डिज़ाइन नहीं किया गया था और यहां तक ​​कि Actionscript 2 केवल AS1 के लिए एक आवरण था।
डेमियन ब्रेख्त

1
मुझे यह भी उत्सुकता है कि आपको क्यों लगता है कि जावा एक खराब
ओओपी

2
@ डिएमियन ब्रेख्त: डगलस क्रॉकफोर्ड को अपेक्षाकृत आश्वस्त जावास्क्रिप्ट लगता है (किसी भी तरह से ECMA-स्क्रिप्ट) OO: javascript.crockford.com/javascript.html
back2dos

2
भेद जो अच्छी तरह से बैठता है: PHP वस्तु-सक्षम है , वस्तु-उन्मुख नहीं है।
vartec

11

आप पाएंगे कि " हैंडल " " सपोर्ट " के समान नहीं है । मेरा मतलब है, अगर आप अपने कोड को ठीक से संरचना करते हैं , तो नीटी-ग्रिटिज, यहां तक ​​कि सी "भी" ओओपी को संभाल सकता है। सवाल यह है कि भाषा ओओपी को प्रोग्राम के लिए सबसे स्वाभाविक तरीका बनाकर इसे प्रोत्साहित करने में सक्षम करने से परे है या नहीं ।

मेरे (आमतौर पर सीमित) अनुभव में PHP 5.n बोलियाँ ऐसा नहीं करती हैं। OOP से बाहर निकलना और बहुत अधिक विशुद्ध रूप से प्रक्रियात्मक कोड में यह बहुत आसान है। (ध्यान दें कि मुझे नहीं लगता कि PHP इस कारण से एक बुरी भाषा है । कई कारण हैं कि मुझे लगता है कि PHP एक बुरी भाषा है, लेकिन OOP समर्थन उनमें से एक नहीं है;);


12
यार, मैं उस के बारे में उम्र के लिए जा सकता था, चंद्रमा। यहाँ कोड का एक स्निपेट है जो विफल रहता है $e = function_that_returns_an_array()[0];:। यहां आपको इसे ठीक करने के लिए क्या करना है $a = function_that_returns_an_array(); $e = $a[0];:। ऐसी भाषाएं जिनका सिंटैक्स आपको फ़ंक्शन कॉल के परिणाम का सीधे उपयोग नहीं करने देगा, मुझे बंद कर दें। इसके अलावा, मुझे बताओ कि दशमलव में निम्नलिखित संख्या क्या है 0246875:। (संकेत: आप उस लेक्सर को लागू करने के लिए एक कठिन तरीका नहीं खोज पाएंगे!) PHP सिर्फ इस तरह की मूर्खता से भरा हुआ है।
बस मेरा सही चुनाव

6
@ मून यहां आपके लिए कुछ रीडिंग है: softwarebashing.org/blog/2009/09/php-the-ultimate-suck और tommorris.org/wiki/PHP%20Sucks कुछ गंभीर समस्याएं हैं, लेकिन इसमें से बहुत कुछ सिर्फ नाइट है उठा। PHP के बारे में मुझे वास्तव में जो नफरत है, वह संस्कृति है, यह केवल पेशेवर या अकादमिक नहीं है, बल्कि माणिक और अजगर हैं। विकल्प अच्छे हैं और वे सबसे अच्छे प्रोग्रामर को आकर्षित करते हैं। उदाहरण के लिए रूबी और पाइथन दोनों में इंटरैक्टिव गोले, सभ्य कार्यात्मक विशेषताएं और स्वच्छ वाक्यविन्यास हैं। वे उपयोग करने के लिए बहुत अधिक मज़ेदार हैं। साझा वेब होस्टिंग में बाजार हिस्सेदारी के अलावा क्यों php का उपयोग करें?
कीयो

8
"केवल दो प्रकार की भाषाएं हैं: वे लोग जिनके बारे में शिकायत करते हैं और जिनका कोई उपयोग नहीं करता है।" बजरने स्ट्रॉस्ट्रुप। ध्यान करते हैं।
सिल्वरड्रेग

4
@ बस, शुक्र है कि उन्होंने 5.4 में ऐरे डीरेफरिंग की समस्या को ठीक कर दिया है
चार्ल्स

5
स्ट्रॉस्ट्रप को बस इस बात पर अफ़सोस होता है कि C ++ उन भाषाओं में से एक है जिसके बारे में लोग कुतिया हैं।
बस मेरा सही समय

8

किसी भाषा के ऑब्जेक्ट ओरिएंटेशन की वास्तव में दो परिभाषाएँ हैं: सिंटैक्स और स्टैण्डर्ड लाइब्रेरी में ऑब्जेक्ट ओरिएंटेड अपनी खुद की निर्मिति कैसे होती है, और इसके लिए सॉफ्टवेयर प्रोग्रामर पर क्या प्रभाव पड़ता है, इसके लिए लिखते हैं।

पहली परिभाषा के अनुसार PHP सूची के नीचे की ओर प्रतीत होती है। लोग अक्सर इसके उद्देश्य के रूप में गैर-ऑब्जेक्ट स्ट्रिंग्स और सरणियों का हवाला देते हैं। मेरी राय में, यह परिभाषा वास्तव में मायने नहीं रखती है। यदि आप वास्तव में एक की जरूरत है, तो आप इसे हमेशा एक वस्तु में लपेट सकते हैं , लेकिन लोग ऐसा नहीं करते क्योंकि वे नहीं करते हैं। आमतौर पर इसे कोड करने के लिए एकमात्र अंतर बदल रहा function(var)है var.function()। सिंटैक्स अकेले गैर-ओओपी से ओओपी में कुछ नहीं बदलता है।

दूसरी परिभाषा के अनुसार, लोग ऐसे ऑब्जेक्ट्स को दृढ़ता से लागू करने वाली भाषाओं में भी खराब ऑब्जेक्ट ओरिएंटेड कोड लिखने का प्रबंधन करते हैं, और अच्छे ऑब्जेक्ट ओरिएंटेड कोड लिखने वाले लोग सिंटैक्टिक क्वर्क्स से परेशान होने के अलावा, भाषा पर बहुत मुश्किल से प्रभावित होते हैं। दूसरे शब्दों में, मेरे अनुभव में, कोई बुरी वस्तु उन्मुख भाषाएं नहीं हैं, बस बुरी वस्तु उन्मुख प्रोग्रामर हैं । PHP उस संबंध में किसी भी अन्य भाषा के रूप में अच्छा है।

हो सकता है कि कुछ भाषाएं ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग सीखने के लिए बेहतर अनुकूल हों , लेकिन मुझे लगता है कि डेवलपर द्वारा अलग होगा। मेरे लिए, जब तक मैं लैरी वॉल की ऊँट पुस्तक नहीं पढ़ता, तब तक यह क्लिक नहीं करता कि ओएलओपी कैसे (किया?) करता है। स्पष्ट रूप से आशीर्वाद संदर्भों के रूप में एक वर्ग से संबंधित होने से वास्तव में मेरे लिए घर का संकेत मिलता है कि वास्तव में किसी वस्तु का उदाहरण क्या है बनाम एक वर्ग क्या है। कुछ लोग सीखने के लिए जावा के ऑल-ऑब्जेक्ट्स-ऑल-द-टाइम दृष्टिकोण का पक्ष लेते हैं। चूंकि ओओपी एक वास्तुशिल्प चिंता है, इसलिए बुनियादी चर, भाव, अनुक्रम, चयन, और पुनरावृत्ति को जानने के बाद सीखना आसान है, इसलिए कोई भी भाषा जो ओओपी को तुरंत आपके पक्ष में नहीं करती है, मेरी राय में शैक्षिक लाभ है।

जब मेरी पत्नी ने जावा के साथ प्रोग्रामिंग क्लास में इंट्रो लिया, तो वह लगातार निराश हो रही थी public static void mainऔर एक क्लास में सब कुछ डाल रही थी, जिसे समझने के लिए उसकी पृष्ठभूमि अभी तक नहीं थी, लेकिन उसके शिक्षक द्वारा उसे विश्वास करने के लिए कहा गया था कि उसे इसकी आवश्यकता है। मैंने इसे समझाने की कोशिश की, लेकिन किसी ऐसे व्यक्ति को समझाना बहुत मुश्किल है, जो मुश्किल से ही चर के बारे में जान पाता है कि कोड के अन्य हिस्सों को उन तक पहुंचने से रोकने के लिए यह उपयोगी क्यों होगा, और यह कैसे तय किया जाए कि इसे कैसे विभाजित किया जाए। आप तर्क दे सकते हैं कि सीखने की प्रक्रियात्मक प्रोग्रामिंग पहले बुरी आदतों को शामिल करती है, लेकिन कोड को कॉपी करने और चिपकाने की आदत के बारे में आपको क्या समझ में नहीं आता है?


ऐसा लगता है कि शब्द "वस्तु", "भाषा", "उन्मुख" और "प्रोग्रामिंग" पर सहमत नहीं हुए हैं और अस्पष्ट और सापेक्ष हैं इसलिए कोई भी संभव काला या सफेद उत्तर संभव नहीं है। लेकिन फिर से "ब्लैक" और "व्हाइट" पर सहमति नहीं है और उनका अर्थ मायावी है, आदि आदि आदि
ट्यूलेंस कोर्डोवा

5

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

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


4

PHP वर्गीकृत

PHP केवल BASH या पर्ल की तरह एक गोंद भाषा है । यह उस पर अच्छा है, लेकिन किसी और चीज में अच्छा नहीं है, कुछ गंभीर काम छोड़ दें। भाषा को डिज़ाइन नहीं किया गया है। यह महज विभिन्न कोड को एक साथ बेतरतीब ढंग से (कोड-एंड-फिक्स) हैक करके विकसित किया गया है।

संकलित भाषाएँ

PHP के विपरीत, जावा एक संकलित भाषा है जिसे ठीक से इंजीनियर किया गया है। जेएसआर भाषा को परिभाषित कर रहे हैं, कई उद्यम-श्रेणी के ढांचे और अवधारणाएं जैसे कि ईजेबी, जेएमएस, ईएसबी, स्प्रिंग, स्ट्रट्स, हाइबरनेट, और अन्य।

उपक्रम सॉफ्टवेयर

एंटरप्राइज़ सिस्टम के संदर्भ में, जावा ईई एक समाधान है जो उद्देश्य (एंटरप्राइज एडिशन) को फिट करता है जबकि पीएचपी का उपयोग उन कंपनियों में किया जाता है जो कम योग्यता वाले सस्ते श्रम को काम पर रखने से लागत कम करने की कोशिश कर रहे हैं।

विभिन्न फ्रेमवर्क का उपयोग करके PHP को एंटरप्राइज सेगमेंट में खींचने का काफी प्रयास किया गया है। सबसे विशेष रूप से, Zend फ्रेमवर्क 2 । यहां मूलभूत समस्या PHP का ऑब्जेक्ट-ओरिएंटेशन नहीं है, बल्कि यह डिज़ाइन की कमी, मजबूत टाइपिंग, मानक समस्याओं के लिए गैर-मानक समाधान (हर चीज़ के लिए हैक), और किसी भी निर्धारित आर्किटेक्चर का पूर्ण अभाव है।

सॉफ्टवेयर डिजाइन (वास्तुकला पर चर्चा)

PHP के साथ, आर्किटेक्चरिंग सॉफ़्टवेयर का बोझ अभी भी पूरी तरह से डेवलपर्स के लिए है, जो बहुत खराब काम कर रहे हैं यानी अक्सर कोई भी आर्किटेक्चर नहीं होता है, बस यादृच्छिक रूप से कोड और फिक्स होता है। सुरक्षा और लेन-देन गायब हैं और डेवलपर्स द्वारा उन्हें ढाला जाना चाहिए। जावा में, एक समाधान EJB एनोटेट किया गया है। इस तथ्य पर भी विचार करें कि, PHP में, यदि आप अपवादों को पकड़ते हैं या विभिन्न त्रुटियां करते हैं, तो कुछ भी नहीं होता है। जो कि रन-टाइम तक है। जावा के साथ, आपको डिजाइन समय पर सीधे चेतावनी और त्रुटियां मिलेंगी। इसे मजबूती कहा जाता है, लेकिन PHP के साथ आप केवल सपने देखते रह सकते हैं।

बहु सूत्रण

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

समर्थन और मानक

इसके अलावा तैनाती, वेब सेवा और अन्य मानकों पर विचार करें। जबकि जावा में, ओरेकल, आईबीएम, रेडहैट, अपाचे और कई अन्य जैसी बड़ी कंपनियां हैं, PHP में केवल Zend है।

निष्कर्ष

निष्कर्ष निकालने के लिए, PHP एक बहुत खराब वस्तु-उन्मुख भाषा है। कड़ाई से बोलने पर, यह ऑब्जेक्ट-ओरिएंटेड भी नहीं है, लेकिन हाइब्रिड जो कि संस्करणों से खराब है> 5 क्योंकि OOP को प्रक्रियात्मक प्रोग्रामिंग के साथ मिलाया जाता है। मैं केवल BASH की तरह गोंद के रूप में PHP की सिफारिश करूंगा, लेकिन गंभीर काम के लिए मैं जावा ईई का उपयोग करूंगा।

संबंधित विचार

नवीनतम Zend फ्रेमवर्क 2 के साथ मुख्य सौदा यह है कि यह जावा ईई की तरह बनने की कोशिश कर रहा है, लेकिन उपलब्ध पैकेज, फीचर्स, टूल्स, ऑटोमेशन, एरर-चेकिंग, आर्किटेक्चर, डिज़ाइन, और कम से कम एक दूरस्थ रूप से तुलनीय सेट देने में पूरी तरह से विफल रहता है। सब कुछ।

मेरे अनुभव में, जावा की तुलना में जटिल परियोजनाओं के लिए PHP का उपयोग करना अधिक महंगा है।

कुछ अफवाहें भी हैं जैसे कि PHP सुंदर भयानक प्रोग्रामिंग के लिए खड़ा है । मैं इनकी पुष्टि कर सकता हूं।


3

ओओपी एक भाषा कितनी अच्छी तरह से संभालती है? मैं बल्कि यह पूछना चाहता हूं कि मैं एक OO तरीके से कितना अच्छा प्रोग्राम लिख सकता हूं। मैं सब कुछ सार्वजनिक स्थैतिक बनाकर जावा द्वारा लिए जाने वाले क्लास-स्टांस-ऑफ-ए-क्लास में अपनी नाक काट सकता हूं ।
PHP OOP का समर्थन करता है; यह मुझे केवल OO तरीके से लिखने के लिए मजबूर नहीं करता है। यह कितनी अच्छी तरह से हैंडल करता है यह इस बात पर निर्भर करता है कि मैं प्रोग्राम को ऑब्जेक्ट ओरिएंटेड तरीके से कितनी अच्छी तरह समझता और लिखता हूँ।


2

PHP Traits का समर्थन करता है ! (5.4 से शुरू) । कोई भी भाषा जो क्षैतिज पुन: उपयोग को संभाल सकती है, वह मेरी पुस्तक में एक अच्छी पर्याप्त OO भाषा है।


1

वैसे हमें यह सोचना होगा कि किसी भाषा को अधिक OO क्या बनाता है और इसके क्या कारण हैं जो इसे ऐसे बनाते हैं।

जावास्क्रिप्ट एक ECMAScript का कार्यान्वयन है जिसका अर्थ है कि व्याख्या की गई भाषा के रूप में ब्राउज़र एनवायरनमेंट में चलना । तथ्य यह है कि यह माना जाता है कि इसकी व्याख्यात्मक / व्यवहारिक डिजाइन पर भाषा का बहुत बड़ा प्रभाव था।

उदाहरण के लिए, यह OOP का पालन नहीं करता है। लेकिन इसके अलावा भी कई तथ्य हैं जैसे, OO prgrammer इसके कुछ व्यवहार को खोज सकता है जैसे फ़ंक्शन को बहुत भ्रमित करना।

फिर से कई चीजें हैं जो ओओआई भाषाओं के साथ आईं जैसे सी ++, जावा, सी # उन्हें मजबूत टाइपिंग की तरह संकलक बनाने के लिए । हालांकि, जेएस व्याख्या किए गए वातावरण में चलता है क्योंकि यह मजबूत टाइपिंग का पालन नहीं करता है क्योंकि यह शिथिल टाइप भाषा है।

उपर्युक्त व्यवहार संबंधी भिन्नताओं के अलावा, कई वाक्यात्मक अंतर हैं जैसे कि JS में ऑब्जेक्ट लिटरेचर नोटेशन है जो C # प्रोग्रामर्स को बहुत अच्छी तरह से भ्रमित कर सकता है। हालाँकि C # में सिंटैक्स जैसी ऑब्जेक्ट शाब्दिक है, भले ही यह संकलित भाषा है और इस तरह के सिंटैक्स का उपयोग शायद ही कभी किया जाता है क्योंकि यह पारंपरिक रूप से OO कोड शैली नहीं है।

अब एक और बिंदु है जो यह बताता है कि क्या भाषा अच्छी है OO: क्या इसे C ++ से विकसित किया गया है। जावा के रूप में, C # C ++ से विकसित होता है और समान व्यवहार और वाक्यविन्यास का पालन करता है, एक बड़ा समुदाय इस तरह के व्यवहार और वाक्यविन्यास को केवल OO चीज़ के रूप में देखता है , और यह सोचता है कि ऐसी समानता को बाधित करने वाली कोई भी भाषा केवल OO नहीं है।

हालांकि हमें यह नहीं भूलना चाहिए कि OO बहुत ही अमूर्त अवधारणा है जो किसी भी वाक्यविन्यास शैली से बंधा नहीं है और यहां तक ​​कि किसी विशिष्ट बीहड़ संपत्ति के लिए भी नहीं।

और PHP बहुत अच्छी तरह से OO है। बस जावा, सी ++, सी # की तरह नहीं लग रही है और इसे खराब ओओ भाषा नहीं बनाती है। वैसे मैंने C ++ फिर Java और फिर C # सीखा।

इसलिए, अब तक मेरा सिर बहुत अच्छी तरह से ऊ था। तब मैंने JS को एक बहुत अच्छी किताब "Wrox Pro" से सीखा, और इसने मुझे बहुत प्रभावित किया। मैंने जेएस के व्यवहार और वाक्यात्मक विशिष्टता का आनंद लिया। तब मुझे एहसास हुआ कि सिंटैक्स की तरह वस्तु शाब्दिक C # में थी। और अब PHP सीखते हुए मुझे ऐसा लग रहा है जैसे यह दोनों दुनिया की बहुत सी चीजें लाता है।

हम सभी को वास्तव में करना है कि वाक्यविन्यास सीखना है और ओओ को लागू करते समय एक भाषा की सूक्ष्मता को समझना है। एक बार जब हम उन्हें मास्टर कर लेते हैं तो हम सोच सकते हैं कि यह बेहतर ओओ कार्यान्वयन है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.