वास्तव में, एक सरल, मधुर और संक्षिप्त:हाँ, अब और आवश्यक नहीं है।
आइए कोड की समीक्षा करें कि हमने कुछ खोया नहीं है:
-
__construct
- कंस्ट्रक्टर में केवल सभी कॉन्फ़िगरेशन शामिल थे। यहां पीडीओ की अवधारणा बहुत आसान है, एक कनेक्शन स्ट्रिंग जिसमें सबसे अधिक जानकारी होती है:mysql:host=127.0.0.1;dbname=people;charset=UTF-8
इसके अलावा पीडीओ कंस्ट्रक्टर को रेडी-मेड उपयोग के लिए प्रदान करता है, इसलिए डबल आवश्यक नहीं है।
-
connect
- कनेक्शन फ़ंक्शन अब भी आवश्यक नहीं है। यह पहले से ही पीडीओ को तत्काल करके किया जाता है। आप अपवाद देख सकते हैं, PHP मैनुअल में एक उदाहरण है इसके कंस्ट्रक्टर पेज पर । -
selectDb
- इस जटिल कार्य की भी अब आवश्यकता नहीं है। वाह, तीसरा फ़ंक्शन जिसे हम पीडीओ कनेक्शन स्ट्रिंग के कारण छोड़ सकते हैं। इतने कम पात्रों के साथ बहुत शक्ति। चीयर्स! -
__destruct
- विनाशक। आइए निष्पक्ष रहें:MySQL को भी इसकी आवश्यकता नहीं थी। हालांकि पीडीओ के साथ हम इसे मुफ्त में प्राप्त करते हैं - बिना कोड की एक भी पंक्ति लिखे।
अछा लगता है! आप पुराने कोड को हटाकर उस अस्पष्ट डेटाबेस वर्ग से पीडीओ में माइग्रेट करने में कामयाब रहे! बधाई हो:
$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');
यदि आप अब सोचते हैं, तो क्या होगा यदि मैं स्वयं डेटाबेस वर्ग रखना चाहता हूँ? वैसे आप ऐसा कर सकते हैं, क्योंकि आप पीडीओ से विस्तार कर सकते हैं (हाँ यह काम करता है!):
class DB extends PDO
{
... my super-new-shiny-code
}
आप ऐसा क्यों करना चाहेंगे? कोई विचार नहीं, लेकिन शायद यह आपके कोड के लिए अधिक धाराप्रवाह है। यदि आप एक बेहतर कोड-उदाहरण की तलाश में हैं, तो मेरे पास PHP/MySQL टेबल हाइपरलिंक के साथ हैए> ।