Database
 sql >> डेटाबेस >  >> RDS >> Database

PHP डेटाबेस एब्स्ट्रैक्शन लेयर्स और CRUD प्लगइन्स की तुलना करना

इस लेख में, हम PHP के लिए विभिन्न डेटाबेस एब्स्ट्रैक्शन लेयर्स को देखने जा रहे हैं। हम कुछ PHP CRUD डेटाबेस प्लग इन भी देखेंगे जो MySQL डेटाबेस के साथ इंटरैक्ट करते समय आपके जीवन को आसान बना सकते हैं।

डेटाबेस एब्स्ट्रैक्शन लेयर क्या है?

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

इसे समझने के लिए आइए एक उदाहरण देखें। मान लें कि आपने अपने अनुप्रयोग विकास के प्रारंभिक चरण में MySQL को डेटाबेस बैक-एंड के रूप में चुना है। आप अपने एप्लिकेशन में किसी डेटाबेस एब्स्ट्रैक्शन लेयर का उपयोग नहीं कर रहे हैं, इसलिए जब आप डेटाबेस संचालन करते हैं तो आप MySQL बैक-एंड के लिए विशिष्ट कोड लिखना समाप्त कर देंगे।

क्या होगा अगर, किसी कारण से, आपको अपने डेटाबेस बैक-एंड को MySQL से Oracle में बदलने की आवश्यकता है? यह स्विच आसान नहीं होने वाला है। आपको सबसे पहले अपने आवेदन में MySQL-विशिष्ट कोड के प्रत्येक बिट की समीक्षा करनी होगी। आपको कोड की हर पंक्ति से गुजरना होगा जो MySQL डेटाबेस बैक-एंड के साथ इंटरैक्ट करता है और इसे नए डेटाबेस के लिए समकक्ष कोड से बदल देता है।

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

हमने अब तक क्या चर्चा की है, यह समझने के लिए निम्न आरेख पर एक नज़र डालें।

जैसा कि आप देख सकते हैं, डेटाबेस एब्स्ट्रैक्शन लेयर एप्लिकेशन और वास्तविक डेटाबेस के बीच बैठता है, इसलिए एप्लिकेशन को यह जानने की आवश्यकता नहीं है कि अंतर्निहित डेटाबेस कैसे काम करता है।

डेटाबेस अमूर्त परत विकल्प

इसके बाद, हम कुछ विकल्पों को देखने जा रहे हैं जिनका उपयोग आप अपने दैनिक अनुप्रयोग विकास में कर सकते हैं। आइए उन विकल्पों पर एक त्वरित नज़र डालें, जिन पर हम बाकी लेख में चर्चा करने जा रहे हैं।

  • पीडीओ
  • डॉक्ट्रिन डीबीएएल
  • एडीओडीबी
  • पीडीओमॉडल:डेटाबेस एब्स्ट्रैक्शन और हेल्पर PHP क्लास
  • xCRUD डेटा प्रबंधन प्रणाली
  • पीडीओ क्रूड:उन्नत पीएचपी सीआरयूडी एप्लिकेशन

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

लोकप्रिय और निःशुल्क विकल्पों पर एक त्वरित नज़र

इस खंड में, हम कुछ लोकप्रिय और मुफ्त विकल्पों को देखेंगे जिनका उपयोग आप अपने PHP अनुप्रयोगों में डेटाबेस एब्स्ट्रैक्शन लेयर के रूप में कर सकते हैं।

पीडीओ

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

इसलिए यदि आप PDO एक्सटेंशन का उपयोग करके MySQL डेटाबेस के साथ काम करना चाहते हैं, तो आपको यह सुनिश्चित करना होगा कि आपने php_pdo एक्सटेंशन को सक्षम किया है, जो एक कोर PDO एक्सटेंशन है, और pdo_mysql एक्सटेंशन है, जो आपको बात करने की अनुमति देता है MySQL सर्वर PDO डेटाबेस एब्स्ट्रैक्शन लेयर का उपयोग कर रहा है।

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

डॉक्ट्रिन डीबीएएल

डॉक्ट्रिन डीबीएएल (डेटाबेस एब्स्ट्रैक्शन लेयर) लाइब्रेरी एक अन्य लोकप्रिय डेटाबेस एब्स्ट्रैक्शन लाइब्रेरी है जो पीडीओ के चारों ओर एक आवरण प्रदान करती है। डॉक्ट्रिन डीबीएएल अपने आप में शुद्ध पीडीओ एक्सटेंशन का उपयोग करने की तुलना में उपयोग में आसान एपीआई विधियाँ और कुछ अतिरिक्त सुविधाएँ प्रदान करता है।

डॉक्ट्रिन डीबीएएल द्वारा समर्थित डेटाबेस विक्रेताओं की सूची है:

  • MySQL
  • ओरेकल
  • माइक्रोसॉफ्ट एसक्यूएल सर्वर
  • पोस्टग्रेएसक्यूएल
  • SAP Sybase SQL कहीं भी
  • SQLite
  • बूंदा बांदी

डॉक्ट्रिन डीबीएएल को डॉक्ट्रिन प्रोजेक्ट के तहत विकसित किया गया है, जो एक ओआरएम (ऑब्जेक्ट-रिलेशनल मैपर) भी प्रदान करता है जो डॉक्ट्रिन डीबीएएल के शीर्ष पर बैठता है। डॉक्ट्रिन ओआरएम एक उपकरण है जो आपको ऑब्जेक्ट-ओरिएंटेड तरीके से डेटाबेस क्वेरी लिखने की अनुमति देता है। वास्तव में, ओआरएम अपने आप में एक विस्तृत विषय है, इसलिए हम यहां विवरण में नहीं जाएंगे, लेकिन मैं भविष्य में ओआरएम पर एक लेख लिखूंगा।

एडीओडीबी

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

डेटाबेस को क्वेरी करने और अपडेट करने के लिए घटक प्रदान करने के अलावा, यह ऑब्जेक्ट-ओरिएंटेड एक्टिव रिकॉर्ड लाइब्रेरी भी प्रदान करता है, जो उसी तरह से ओआरएम के रूप में काम करता है जिस तरह से हमने पहले डॉक्ट्रिन ओआरएम सेक्शन में चर्चा की थी।

साथ ही, आपको इस लाइब्रेरी के लिए डेटाबेस बैक-एंड के लिए संगत ड्राइवर स्थापित करने होंगे, ठीक उसी तरह जैसे आप पीडीओ एक्सटेंशन के लिए करते हैं। उदाहरण के लिए, यदि आप एक MySQL डेटाबेस के साथ काम करना चाहते हैं, तो आपको PHP में mysqli ड्राइवर स्थापित करना होगा।

तो यह कुछ उपयोगी मुफ्त विकल्पों पर एक त्वरित नज़र थी। अगले भाग में, हम कुछ लोकप्रिय व्यावसायिक विकल्पों को देखेंगे जो केवल डेटाबेस एब्स्ट्रैक्शन की तुलना में बहुत अधिक सुविधाएँ प्रदान करते हैं।

खरीदने के लिए सर्वश्रेष्ठ PHP डेटाबेस एब्स्ट्रैक्शन स्क्रिप्ट

इस खंड में, हम कुछ उन्नत विकल्पों पर चर्चा करेंगे जिन्हें आप डेटाबेस एब्स्ट्रैक्शन लाइब्रेरी के लिए चुन सकते हैं। वास्तव में, हमने जो विकल्प चुने हैं, वे केवल डेटाबेस एब्स्ट्रैक्शन लाइब्रेरी के रूप में काम नहीं करेंगे—वे एक बहुत कुछ प्रदान करते हैं उससे भी ज्यादा।

PDOModel:डेटाबेस एब्स्ट्रैक्शन और हेल्पर PHP क्लास

PDOModel लाइब्रेरी एक डेटाबेस एब्स्ट्रैक्शन और हेल्पर PHP क्लास है जो PDO एक्सटेंशन के ऊपर बनाया गया है। यह एक उत्कृष्ट आवरण है जो आपको किसी भी SQL क्वेरी को लिखे बिना सम्मिलित करने, अद्यतन करने, हटाने और संचालन का चयन करने की अनुमति देता है। इस प्रकार यह सरलता और पठनीयता प्रदान करता है। वास्तव में, यह रैपर फ़ंक्शन प्रदान करता है जो आपको वास्तविक SQL क्वेरी लिखे बिना सरल कार्यों का उपयोग करके जटिल संचालन करने की अनुमति देता है।

फिलहाल, यह MySQL, Postgres, SQlite और SQL Server डेटाबेस बैक-एंड को सपोर्ट करता है। यह लेनदेन और बैच संचालन का समर्थन करता है, जो एक आवश्यक विशेषता है यदि आप किसी बाहरी स्रोत से डेटाबेस आयात करना चाहते हैं। शीर्ष पर चेरी यह है कि यह आपको सीएसवी, एक्सेल, पीडीएफ, एक्सएमएल, और अधिक जैसे प्रारूपों में डेटा निर्यात करने की अनुमति देता है।

आइए निम्नलिखित कोड पर एक त्वरित नज़र डालें, जो दर्शाता है कि PDOModel सहायक का उपयोग करना कितना आसान है।

<?php
// initialize the PDOModel class
$pdoModelObj = new PDOModel(); 

// connect to a database
$pdoModelObj->connect("host", "username", "password", "database_name");

// querying database [select * FROM users]
$result = $pdoModelObj->select("users");

तो जैसा कि आप देख सकते हैं, यह PDOModel सहायक वर्ग का उपयोग करके डेटाबेस संचालन करने के लिए एक हवा है। अधिक जानकारी के लिए, आप CodeCanyon पर आधिकारिक PDOModel पृष्ठ पर जा सकते हैं।

अब तक हमने जिन पुस्तकालयों के बारे में बात की है, वे डेटाबेस एब्स्ट्रैक्शन लेयर्स हैं, लेकिन आइए कुछ CRUD (क्रिएट, रीड, अपडेट और डिलीट) प्लगइन्स को भी देखें जो आपको आसानी से स्कैफोल्डिंग कोड जेनरेट करने की अनुमति देते हैं।

xCRUD:डेटा प्रबंधन प्रणाली

xCRUD PHP और MySQL के लिए लिखा गया एक सरल लेकिन शक्तिशाली CRUD जनरेटर प्लगइन है। यह आपको कुछ ही समय में बुनियादी मचान कोड बनाने की अनुमति देता है, और यह गैर-प्रोग्रामर के लिए भी उपयोगी है। इसके मूल में, यह विभिन्न डेटाबेस संचालन से निपटने के लिए mysqli एक्सटेंशन का उपयोग कर रहा है। लेकिन आपको अंतर्निहित जटिलताओं के बारे में चिंता करने की ज़रूरत नहीं है—आपको बस xCRUD सिस्टम द्वारा प्रदान किए जाने वाले उपयोग में आसान कार्यों का उपयोग करने की आवश्यकता है।

xCRUD प्लगइन का उपयोग करते समय, आपको बस अपनी डेटाबेस तालिकाओं को डिज़ाइन करने की आवश्यकता होती है, और xCRUD प्लगइन बाकी को संभाल लेगा। कोड की कुछ पंक्तियों के साथ, आपके पास उपयोग के लिए तैयार UI होगा जो आपको रिकॉर्ड बनाने और अपडेट करने की अनुमति देता है। आपको एक सूची दृश्य भी मिलेगा जिसमें सभी रिकॉर्ड सूचीबद्ध हैं।

आइए उस कोड पर एक नज़र डालते हैं जिसे आपको उपयोगकर्ता तालिका के लिए सीआरयूडी विधियों को उत्पन्न करने के लिए लिखना है।

<?php
$xCRUD = Xcrud::get_instance();
$xCRUD->table('users');
echo $xCRUD->render();

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

पीडीओ सीआरयूडी:उन्नत पीएचपी सीआरयूडी एप्लीकेशन

अंत में, आइए पीडीओ सीआरयूडी प्लगइन देखें, जो एक सीआरयूडी जनरेटर प्लगइन भी है जो MySQL, पोस्टग्रेज और SQLite डेटाबेस बैक-एंड का समर्थन करता है। कोड की कुछ ही पंक्तियों के साथ, यह प्लगइन एक सुंदर और आकर्षक UI उत्पन्न करने में सक्षम है, जो आपको अपने डेटाबेस के साथ दिन-प्रतिदिन के कार्यों को सहजता से करने की अनुमति देता है।

जैसा कि नाम से पता चलता है, यह सिर्फ एक बुनियादी सीआरयूडी जनरेटर नहीं है, बल्कि यह डेटाबेस एप्लिकेशन के लिए एक पूर्ण टेम्पलेट है। आइए इस प्लगइन की कुछ शक्तिशाली विशेषताओं पर एक नज़र डालें:

  • इनलाइन संपादन
  • फ़ाइल अपलोड
  • JavaScript प्लग इन के लिए समर्थन
  • ऑपरेशन में शामिल हों
  • खोज, पृष्ठ पर अंक लगाना और निर्यात करना
  • बहु भाषा समर्थन
  • और भी बहुत कुछ

और यहां उस कोड पर एक त्वरित नज़र डालें जिसका उपयोग आप एक बुनियादी सीआरयूडी इंटरफ़ेस बनाने के लिए करेंगे:

<?php
$pdoCrudObject = new PDOcrud();
echo $pdoCrudObject->dbTable('users')->render();

इतना ही! यह प्लगइन कितना शक्तिशाली है, इस बारे में अंतर्दृष्टि के लिए कोडकैनियन पर इस सीआरयूडी प्लगइन के आधिकारिक पृष्ठ पर जाएं।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाबेस को Azure SQL डेटाबेस में माइग्रेट करना

  2. SQL में टिप्पणियाँ कैसे जोड़ें?

  3. मेडिकल अपॉइंटमेंट बुकिंग ऐप के लिए एक डेटा मॉडल

  4. स्प्रेडशीट बनाम डेटाबेस:क्या यह स्विच करने का समय है? भाग 2

  5. डेटा मास्किंग के माध्यम से डेटा जोखिम शमन