Wednesday 15 May 2013

Differences in procedural and object-oriented implementations of mysql in php? -


PHP में mysql लागू करते समय एक प्रक्रियात्मक दृष्टिकोण पर ऑब्जेक्ट ओरिएंटेड दृष्टिकोण का उपयोग करने में कोई महत्वपूर्ण अंतर है? mysqli_query , () के बारे में php वेबसाइट पर, यह दोनों का एक उदाहरण प्रदान करता है, और मुझे यह जानना है कि कोई भी महत्वपूर्ण प्रदर्शन अंतर है, या बस पता है कि उनमें से प्रत्येक का उपयोग कब करना है।

जो जवाब है बेहतर है "यह निर्भर करता है।" किसी भी चीज़ के साथ, विभिन्न प्रकार के दृष्टिकोण होते हैं और आपको यह भी ध्यान में रखना चाहिए कि ऑब्जेक्ट का उपयोग करने वाला कोड अनिवार्य रूप से ऑब्जेक्ट नहीं है, लेकिन अभी भी प्रक्रियात्मक रूप से लिखा जा सकता है एक ही नस में, कोड जो ऑब्जेक्ट का उपयोग नहीं करता है वह अब भी मॉड्यूलर हो सकता है।

मैं हर बार mysqli वर्ग का उपयोग करना चुनता हूं, हालांकि। प्रदर्शन में कोई महत्वपूर्ण अंतर नहीं है आपको संभवतः डीबी वर्ग जैसे सरलीकृत बहुरूपता के उपयोग के कुछ लाभों का एहसास नहीं होगा, इसलिए क्लास का इस्तेमाल करने के लिए मेरा एकमात्र तर्क यह है कि मैं सिंटैक्स को पसंद करता हूं। हालांकि, mysqli का उपयोग करने के बजाय मैं संभवत: सुझाव दे सकता हूं कि आप इसे बढ़ाते हैं या लिखें। आप केवल कक्षा के साथ ऐसा कर सकते हैं।

  वर्ग DB mysqli का विस्तार करता है {सार्वजनिक फ़ंक्शन __construct () {मूल :: __ निर्माण ($ _ सर्वर ['डीबी_होस्ट'], $ _SERVER ['DB_USER'] , $ _SERVER ['DB_PASS']);  

यह एक बहुत उथले उदाहरण है।

मैं ऊपर के बारे में बात कर रहा था बहुरूपता का एक उदाहरण ऐसा कुछ होगा:

  क्लास उपयोगकर्ता डीएओ {निजी $ db; लागू करता है; सार्वजनिक फ़ंक्शन __ रचना (डीबी $ db) {$ this- & gt; db = $ db; }} // परीक्षण कोड को उत्पादन श्रेणी में प्रयोग करने की तुलना में सरलीकृत किया गया है TestDB डीबी {} नया प्रयोक्ता (नया टेस्टडीबी) बढ़ाता है; नया उपयोगकर्ता (नया डीबी);   

जिस तरह से मैं पीडीओ से अधिक mysqli

No comments:

Post a Comment