रीयल-टाइम डेटा प्रबंधन और लेनदेन इन दिनों संचार का नवीनतम माध्यम हैं। मोबाइल और वेब एप्लिकेशन का उपयोग करते समय लोगों को त्वरित डेटा प्रवाह की आवश्यकता होती है। रीयल-टाइम डेटाबेस और संचार प्रणाली बनाने के लिए इंटरनेट पर बहुत सारी सेवाएं उपलब्ध हैं। उदाहरण के लिए पुशर, ओनेसिग्नल और गूगल का फायरबेस इसके लिए प्रसिद्ध उपकरण हैं। पहले, आपने लारवेल में फायरबेस को एकीकृत करने और निम्नलिखित विषयों को कवर करने का तरीका सीखा है:
- Firebase सेटअप करें और API कुंजियां बनाएं.
- Laravel में एकीकृत करें
इस PHP फायरबेस उदाहरण में, मैं आपको पिछले लेख का एक छोटा सा पुनर्कथन दूंगा और आपको दिखाऊंगा कि PHP 7.x में फायरबेस को कैसे एकीकृत किया जाए, एक साधारण सीआरयूडी फ़ंक्शन बनाएं जिसके साथ आप डेटाबेस हेरफेर कर सकते हैं।
PHP के साथ Firebase को एकीकृत करें- फायरबेस का एक छोटा सा संक्षिप्त विवरण
- Firebase का उपयोग किस लिए किया जाता है?
- फायरबेस बनाम MySQL
- Firebase के फायदे और नुकसान
- कंसोल में फायरबेस सेट करना
- क्लाउडवे पर PHP सर्वर सेटअप करें
- PHP को Firebase के साथ एकीकृत करें
- Firebase के साथ कनेक्शन बनाएं
- Users.php में यूजर क्लास बनाएं
- Firebase को PHP संपर्क फ़ॉर्म से कनेक्ट करें
- अंतिम शब्द
Firebase का एक छोटा सा पुनर्कथन
फायरबेस एक रीयल-टाइम संचार सेवा है जो चैट, मोबाइल और वेब एप्लिकेशन के लिए रीयल-टाइम डेटा प्रवाह प्रदान करती है। यह क्लाउड मैसेजिंग, ऑथ सिस्टम, फायरबेस पीएचपी डेटाबेस, नोटिफिकेशन सिस्टम, स्टोरेज और फायरबेस होस्टिंग सहित कई रियल टाइम सेवाएं प्रदान करता है, जिससे इसके प्लेटफॉर्म को उच्च गुणवत्ता वाले ऐप विकसित करने के लिए टूल और सेवाओं का पूरा ढेर बना दिया जाता है।
इस लेख में, मैं फायरबेस डेटाबेस के बारे में संक्षिप्त जानकारी दूंगा। दरअसल, फायरबेस एक PHP रीयल टाइम डेटाबेस और एक सेवा के रूप में बैकएंड प्रदान करता है। सेवा डेवलपर्स को एक एपीआई प्रदान करती है जो फ़ायरबेस क्लाउड पर संग्रहीत क्लाइंट में एप्लिकेशन डेटा सिंक्रनाइज़ेशन की अनुमति देती है। यह आपके होस्टिंग सर्वर जैसे MySQL और अन्य पर किसी भी रिलेशनल डेटाबेस सिस्टम की आवश्यकता को समाप्त करता है।
Firebase का उपयोग किस लिए किया जाता है?
जब उपयोगकर्ता डेटाबेस से बहुत तेज गति से डेटा बनाना, उत्पन्न करना या प्राप्त करना चाहता है, तो फायरबेस रीयल-टाइम सेवाएं उन्हें लाइव स्ट्रीमिंग, चैटिंग फ़ंक्शन और अधिक जैसे संचालन करने में आसानी देती हैं। यह उन अनुप्रयोगों के लिए एक आदर्श उपकरण है जिनमें Lyft, Shazam, अलीबाबा आदि जैसे बड़े डेटाबेस हैं।
फायरबेस की कुछ प्रमुख विशेषताएं हैं:
- बैकएंड सर्वर के लिए कोई अतिरिक्त पैसा नहीं
- सर्वर में डेटा का त्वरित प्रदर्शन
- NoSQL जिसका मतलब है कि यह तेज़ है
- एनालिटिक्स
- सुरक्षित और तेज़ होस्टिंग
- मशीन लर्निंग किट
- उपयोगकर्ता सुरक्षा के लिए प्रमाणीकरण सेवा
- क्लाउड स्टोरेज
- डेटा का त्वरित सिंक्रनाइज़ेशन
कम परेशानी। अधिक विकास।
आइए हम आपकी होस्टिंग आवश्यकताओं को भविष्य में प्रमाणित करें। आप अपने अनुप्रयोगों के निर्माण पर ध्यान केंद्रित करते हैं।
नि:शुल्क प्रारंभ करेंFirebase बनाम MySQL
फायरबेस सचमुच पारंपरिक डेटाबेस जैसे MySQL से अलग है और डेटा को दस्तावेज़ों के रूप में संग्रहीत करता है। इन दस्तावेजों को क्रॉस प्लेटफॉर्म माध्यमों में रीयल-टाइम में हेरफेर किया जा सकता है। MySQL एक रिलेशनल डेटाबेस है जो key->value कॉन्सेप्ट के साथ काम करता है और डेटा के विभिन्न सेट के साथ संबंध बनाता है।
इन संबंधों का उपयोग तब डेटा लेनदेन के लिए किया जाता है। MySQL में रीयल-टाइम डेटा ट्रांज़िशन कॉन्सेप्ट का अभाव है और REST API बनाने के लिए बहुत सारे काम की आवश्यकता होती है।
दूसरी ओर फायरबेस डेटाबेस त्वरित एपीआई बनाने के लिए एंड्रॉइड, आईओएस और वेब जैसे विभिन्न प्लेटफॉर्म प्रदान करता है। मूल रूप से फायरबेस एक पदानुक्रमित डेटा संरचना है यानी यह क्लाउड में JSON ट्री की तरह है।
फायरबेस में चाबियों की अवधारणा है, जो उन नोड्स के नाम हैं जिनके तहत आप डेटा स्टोर करते हैं। आप किसी तरह उनकी तुलना रिलेशनल डेटाबेस की प्राथमिक कुंजियों से कर सकते हैं लेकिन इसमें प्रबंधित विदेशी कुंजी की कोई अवधारणा नहीं है।
अपनी VueJS हैंडबुक अभी प्राप्त करें
सरल अपना ईमेल पता दर्ज करें और अपने इनबॉक्स में डाउनलोड लिंक प्राप्त करें।
धन्यवाद
आपकी ईबुक आपके इनबॉक्स के रास्ते पर है।
Firebase के फायदे और नुकसान
हाल ही में मुझे फायरबेस के पेशेवरों और विपक्षों के बारे में स्टैक एक्सचेंज प्रश्न मिला और यह उन्हें बहुत अच्छी तरह से समझाता है।
पेशेवर
- यदि आपका ऐप केंद्रीकृत डीबी पर चलता है, और बहुत सारे उपयोगकर्ताओं द्वारा अपडेट किया जाता है तो यह उपकरणों के बीच रीयल-टाइम डेटा अपडेट को संभालने में सक्षम है।
- क्लाउड में संग्रहीत ताकि हर जगह आसानी से उपलब्ध हो।
- Cross Platform API (यदि आप इस DB का उपयोग किसी ऐप के साथ कर रहे हैं)
- वे डेटा को होस्ट करते हैं - मतलब अगर आप बहुत अधिक डेटा स्टोर कर रहे हैं, तो आपको हार्डवेयर के बारे में चिंता करने की ज़रूरत नहीं है।
विपक्ष:
- जब तक आपका ऐप उपयोगकर्ताओं की एक बड़ी संख्या द्वारा अपडेट किए गए एक केंद्रीकृत डेटाबेस पर नहीं चलता, यह एक बड़ी ओवरकिल है।
- Storage फ़ॉर्मैट SQL से बिल्कुल अलग है (Firebase JSON का उपयोग करता है)। इसलिए आप इतनी आसानी से माइग्रेट नहीं कर पाएंगे.
- रिपोर्टिंग टूल कहीं भी मानक SQL के समान नहीं हैं।
- लागत - 50 कनेक्शन और 100 एमबी स्टोरेज तक सीमित।
- आप डेटा होस्ट नहीं करते, Firebase करता है। आपको कौन सा सर्वर मिलता है, इस पर निर्भर करते हुए, हाल ही में वहां देखने का समय बहुत अधिक व्यवधान प्रतीत होता है।
कंसोल में Firebase सेट करना
जैसा कि मैंने ऊपर उल्लेख किया है कि पिछले लेख में कंसोल में फायरबेस डेटाबेस को सेटअप करने के सभी चरणों को शामिल किया गया है, आप एक त्वरित पुनर्कथन के लिए बस उस लेख का अनुसरण कर सकते हैं। Firebase सेट अप करने के लिए आपको जिन बिंदुओं का पालन करना होगा वे हैं:
- Firebase में एक प्रोजेक्ट बनाएं
- उपयोगकर्ताओं के लिए नियम पढ़ने और लिखने के लिए सेटअप करें
- एपीआई कुंजियां बनाने के लिए उपयोगकर्ता और अनुमतियों पर जाएं
- गुप्त Json फ़ाइल डाउनलोड करें और अपने प्रोजेक्ट में सहेजें
अब, आप PHP को Firebase के साथ एकीकृत करने के लिए तैयार हैं।
क्लाउडवे पर PHP सर्वर सेटअप करें
चूंकि Cloudways पहले से ही PHP वेबसाइटों के लिए अपनी होस्टिंग पर PHP 7.x संस्करण प्रदान कर रहा है, आपको बस साइनअप करने और एक सर्वर लॉन्च करने की आवश्यकता है और बाकी सभी प्लेटफॉर्म पर पहले से ही आते हैं। एप्लिकेशन सर्वर के साथ सेटअप हो जाएगा और आप इसे एक्सेस विवरण पृष्ठ में URL के माध्यम से एक्सेस कर सकते हैं
PHP सर्वर पर फायरबेस चलाने से पहले आपको कुछ बातों का ध्यान रखना होगा, कि आपके पास PHP>=7.0 संस्करण mbstring PHP एक्सटेंशन के साथ उपलब्ध होना चाहिए।
शायद आपको यह भी पसंद आए: Amazon AWS EC2 पर PHP कैसे होस्ट करें
PHP को Firebase के साथ एकीकृत करें
फायरबेस में एक भयानक एपीआई है जो विभिन्न भाषाओं में कार्यान्वयन का समर्थन करती है। फायरबेस के साथ PHP का उपयोग करने के लिए, यह एक संपूर्ण PHP पैकेज प्रदान करता है जिसे आप फायरबेस के साथ काम करने के लिए एकीकृत कर सकते हैं। इस एप्लिकेशन में, मैं kreait/firebase-php . का उपयोग करूंगा जिसकी अनुशंसा फायरबेस द्वारा भी की जाती है।
फायरबेस एडमिन एसडीके को स्थापित करने का अनुशंसित तरीका संगीतकार के साथ है। संगीतकार PHP के लिए एक निर्भरता प्रबंधन उपकरण है जो आपको अपनी परियोजना के लिए आवश्यक निर्भरताओं की घोषणा करने और उन्हें आपके प्रोजेक्ट में स्थापित करने की अनुमति देता है।
composer require kreait/firebase-php ^4.17.0
वैकल्पिक रूप से, आप अपने प्रोजेक्ट की मौजूदा कंपोज़र.json फ़ाइल में एक निर्भरता के रूप में Firebase Admin SDK निर्दिष्ट कर सकते हैं:
{ "require": { "kreait/firebase-php": "^4.17.0" } }
स्थापित करने के बाद, आपको संगीतकार के ऑटोलोडर की आवश्यकता होगी:
<?php require __DIR__.'/vendor/autoload.php';
Firebase के साथ कनेक्शन बनाएं
एक बार पैकेज इंस्टॉलेशन को पूरा करने और PHP फ़ाइल में ऑटोलैडर जोड़ने के बाद, आप कंसोल से डाउनलोड की गई गुप्त फ़ाइल का उपयोग करके फायरबेस के साथ एक कनेक्शन बना सकते हैं। आपको उस फ़ाइल के URL को ServiceAccount::fromJsonFile() विधि में पास करना होगा। दूसरे, Firebase ऐप्लिकेशन का यूआरएल ढूंढें.
<?php require __DIR__.'/vendor/autoload.php'; use Kreait\Firebase\Factory; use Kreait\Firebase\ServiceAccount; // This assumes that you have placed the Firebase credentials in the same directory // as this PHP file. $serviceAccount = ServiceAccount::fromJsonFile(__DIR__ . '/secret/php-firebase-7f39e-c654ccd32aba.json'); $firebase = (new Factory) ->withServiceAccount($serviceAccount) ->withDatabaseUri('https://my-project.firebaseio.com') ->create(); $database = $firebase->getDatabase();
अब इस समय जब आप var_dump($database); आप अपने ब्राउज़र स्क्रीन पर फ़ायरबेस द्वारा लौटाए गए संपूर्ण डेटाबेस ऑब्जेक्ट को देखेंगे।
Users.php में यूजर क्लास बनाएं
अगली चीज़ जो मैं करूँगा वह है User.php नामक नई फ़ाइल का निर्माण और उसमें एक उपयोगकर्ता वर्ग घोषित करना। कक्षा में एक कंस्ट्रक्टर होगा जिसमें मैं फायरबेस एपीआई के साथ PHP का कनेक्शन बनाउंगा और इसे प्रारंभ करूंगा। उसके बाद मैं डेटाबेस को फायरबेस में बनाऊंगा।
public function __construct(){ $acc = ServiceAccount::fromJsonFile(__DIR__ . '/secret/php-firebase-7f39e-c654ccd32aba.json'); $firebase = (new Factory)->withServiceAccount($acc)->create(); $this->database = $firebase->getDatabase(); }
अब डेटाबेस में हेरफेर करने के लिए PHP CRUD फ़ंक्शन बनाने के लिए, मैं प्रत्येक उपयोग के मामले के लिए अलग-अलग विधियाँ बनाऊँगा। लेकिन पहले कंस्ट्रक्टर के बाहर दो और गुण बनाते हैं जिसमें डेटाबेस का नाम होता है
protected $database; protected $dbname = 'users';
अब डेटा प्राप्त करने के लिए एक प्राप्त () विधि बनाते हैं। इसमें विशिष्ट उपयोगकर्ता रिकॉर्ड लाने के लिए उपयोगकर्ता आईडी होगा। यह विधि यह भी जांचेगी कि उपयोगकर्ता आईडी उपलब्ध नहीं है या सेट नहीं है, इसके मामले में झूठी वापसी होगी। जबकि अगर आईडी को उचित रूप से सेट किया गया पाया जाता है, तो मान को सफलतापूर्वक पुनर्प्राप्त किया जाएगा।
public function get(int $userID = NULL){ if (empty($userID) || !isset($userID)) { return FALSE; } if ($this->database->getReference($this->dbname)->getSnapshot()->hasChild($userID)){ return $this->database->getReference($this->dbname)->getChild($userID)->getValue(); } else { return FALSE; } }
इन्सर्ट () विधि के अंदर, मैं डेटा की सरणी पास करूँगा क्योंकि इसमें एकल या एकाधिक डेटा हो सकता है। जबकि यदि डेटा विशिष्ट यूजरआईडी के लिए पहले से ही उपलब्ध है, तो यह मौजूदा यूजर आईडी को अपडेट कर देगा।
public function insert(array $data) { if (empty($data) || !isset($data)) { return FALSE; } foreach ($data as $key => $value){ $this->database->getReference()->getChild($this->dbname)->getChild($key)->set($value); } return TRUE; }
अब मैं एक डिलीट () फंक्शन बनाऊंगा जिसमें एक पैरामीटर के रूप में यूजरआईडी होगा। आईडी को मान्य किया जाएगा यदि सेट किया गया है, तो निकालें () विधि डेटा को हटा देगी।
public function delete(int $userID) { if (empty($userID) || !isset($userID)) { return FALSE; } if ($this->database->getReference($this->dbname)->getSnapshot()->hasChild($userID)){ $this->database->getReference($this->dbname)->getChild($userID)->remove(); return TRUE; } else { return FALSE; } }
संपूर्ण उपयोगकर्ता वर्ग इस प्रकार होगा:
<?php require_once './vendor/autoload.php'; use Kreait\Firebase\Factory; use Kreait\Firebase\ServiceAccount; class Users { protected $database; protected $dbname = 'users'; public function __construct(){ $acc = ServiceAccount::fromJsonFile(__DIR__ . '/secret/php-firebase-7f39e-c654ccd32aba.json'); $firebase = (new Factory)->withServiceAccount($acc)->create(); $this->database = $firebase->getDatabase(); } public function get(int $userID = NULL){ if (empty($userID) || !isset($userID)) { return FALSE; } if ($this->database->getReference($this->dbname)->getSnapshot()->hasChild($userID)){ return $this->database->getReference($this->dbname)->getChild($userID)->getValue(); } else { return FALSE; } } public function insert(array $data) { if (empty($data) || !isset($data)) { return FALSE; } foreach ($data as $key => $value){ $this->database->getReference()->getChild($this->dbname)->getChild($key)->set($value); } return TRUE; } public function delete(int $userID) { if (empty($userID) || !isset($userID)) { return FALSE; } if ($this->database->getReference($this->dbname)->getSnapshot()->hasChild($userID)){ $this->database->getReference($this->dbname)->getChild($userID)->remove(); return TRUE; } else { return FALSE; } } } ?>
अब कक्षा का परीक्षण करते हैं। विधियों को लागू करने का प्रयास करें और फायरबेस डेटाबेस की जांच करें कि यह अपडेट होता है या नहीं। सबसे पहले क्लास को इनिशियलाइज़ करें:
$users = new Users();
अब इन्सर्ट () विधि के माध्यम से कुछ डेटा डालें:
$users = new Users(); //var_dump($users->insert([ // '1' => 'John', // '2' => 'Doe', // '3' => 'Smith' //]));
इसी तरह आप इस तरह से डेटा प्राप्त या हटा सकते हैं:
var_dump($users->get(1)); var_dump($users->delete(2));
तो आप देख सकते हैं कि मैंने एक साधारण वर्ग बनाकर PHP और फायरबेस का उपयोग करके एक बुनियादी सीआरयूडी एप्लिकेशन कैसे बनाया। जाहिर है कि आप इसे बढ़ा सकते हैं और आवश्यकताओं के अनुसार कुछ रोमांचक बना सकते हैं।
कम परेशानी। अधिक विकास।
आइए हम आपकी होस्टिंग आवश्यकताओं को भविष्य में प्रमाणित करें। आप अपने अनुप्रयोगों के निर्माण पर ध्यान केंद्रित करते हैं।
नि:शुल्क प्रारंभ करेंFirebase को PHP संपर्क फ़ॉर्म से कनेक्ट करें
संपर्क फ़ॉर्म किसी भी वेबसाइट का एक अनिवार्य घटक है क्योंकि यह उपयोगकर्ताओं के संदेशों और प्रश्नों को एकत्र करता है। आइए एक सरल PHP संपर्क फ़ॉर्म बनाएं और संदेश प्राप्त करने के लिए इसे Firebase से कनेक्ट करें। इसमें बुनियादी कोडिंग शामिल होगी क्योंकि यह आपको केवल एक विचार देगा कि इसे कैसे जोड़ा जाए। मैं एक ही क्लास User.php और उसके इन्सर्ट () फंक्शन का उपयोग करूँगा:
संपर्क फ़ॉर्म डिज़ाइन कोड निम्नलिखित होगा:
<!DOCTYPE html> <html> <head> <title>Page Title</title> </head> <body> <link href="https://netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.0/js/bootstrap.min.js"></script> <script src="//code.jquery.com/jquery-1.11.1.min.js"></script> <!-- Include the above in your HEAD tag --> <div class="container"> <div class="row"> <div class="col-md-6 col-md-offset-3"> <div class="well well-sm"> <form class="form-horizontal" action="" method="post"> <fieldset> <legend class="text-center">Contact us</legend> <!-- Name input--> <div class="form-group"> <label class="col-md-3 control-label" for="name">Name</label> <div class="col-md-9"> <input id="name" name="name" type="text" placeholder="Your name" class="form-control"> </div> </div> <!-- Email input--> <div class="form-group"> <label class="col-md-3 control-label" for="email">Your E-mail</label> <div class="col-md-9"> <input id="email" name="email" type="text" placeholder="Your email" class="form-control"> </div> </div> <!-- Message body --> <div class="form-group"> <label class="col-md-3 control-label" for="message">Your message</label> <div class="col-md-9"> <textarea class="form-control" id="message" name="message" placeholder="Please enter your message here..." rows="5"></textarea> </div> </div> <!-- Form actions --> <div class="form-group"> <div class="col-md-12 text-right"> <button type="submit" name="submit" class="btn btn-primary btn-lg">Submit</button> </div> </div> </fieldset> </form> </div> </div> </div> </div> </body> </html>
अब PHP फाइल में आप नेमस्पेस और यूजर क्लास को इनिशियलाइज़ कर सकते हैं। उसके बाद, बस इनपुट्स को पकड़ें और उन्हें फायरबेस के इन्सर्ट () मेथड में भेजें। साथ ही यह एक बुनियादी कोड है, आप इसे अपनी आवश्यकताओं और सत्यापन नियमों के अनुसार बढ़ा सकते हैं:
< ? php require __DIR__. '/vendor/autoload.php'; require 'Users.php'; use Kreait\ Firebase\ Factory; use Kreait\ Firebase\ ServiceAccount; $users = new Users(); if (isset($_POST['submit'])) { $name = $_POST['name']; $email = $_POST['email']; $message = $_POST['message']; $users - > insert([ 'name' => $name, 'email' => $email, 'message' => $message ]); }
अंतिम शब्द
प्रौद्योगिकी तीव्र गति से विकसित हो रही है। प्रतिस्पर्धी होने और दौड़ में बने रहने के लिए आपको खुद को बदलते हुए लोगों के साथ अपडेट करना होगा। इसी तरह डेटाबेस भी बार-बार विकसित हो रहे हैं और आज हम बहुत सी सेवाएं देख सकते हैं जो रीयल-टाइम डेटाबेस प्रदान करती हैं, डेटा को समय पर संसाधित करती हैं।
इस Firebase PHP उदाहरण में, मैंने आपको दिखाया है कि PHP को Firebase के साथ कैसे एकीकृत किया जाए और इसे साधारण वर्ग के संपर्क फ़ॉर्म से कैसे जोड़ा जाए। सफलतापूर्वक कनेक्ट होने के बाद, आप Firebase सेवाओं का उपयोग करने के लिए अधिक जटिल उपयोग-मामले बना सकते हैं। मैं बाद में PHP के साथ Firebase के बारे में और भी लिखूंगा।
सामान्यतःपूछे जाने वाले प्रश्नप्र:क्या मैं PHP के साथ Firebase का उपयोग कर सकता हूं?
उ:हाँ, Firebase आपके PHP प्रोजेक्ट्स के साथ प्लेटफ़ॉर्म को एकीकृत करने के लिए एक व्यापक API प्रदान करता है।
प्रश्न:क्या मैं PHP को Firebase पर होस्ट कर सकता हूं?
ए:नहीं, फायरबेस केवल स्थिर होस्टिंग का समर्थन करता है और इस तरह, आप फायरबेस पर PHP स्क्रिप्ट होस्ट नहीं कर सकते हैं।
प्र:मैं PHP का उपयोग करके किसी Firebase डेटाबेस से डेटा कैसे प्राप्त कर सकता हूं?
फायरबेस डेटा प्राप्त करने के लिए, आपको प्रोजेक्ट फ़ोल्डर में जाकर कमांड चलाने की जरूरत है:
php composer.phar require kreait/firebase-php
इसके बाद, एक नया index.php प्रोजेक्ट फ़ोल्डर में और निम्न पंक्ति को index.php के शीर्ष पर जोड़ें:
require DIR.'/vendor/autoload.php';
इसके बाद, फ़ोल्डर में एक JSON फ़ाइल बनाएं
index.php संपादित करें और डेटाबेस से कनेक्शन बनाएं।