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

MySQL कनेक्शन PHP ऑब्जेक्ट इनहेरिटेंस का पुन:उपयोग करें

mysqli कनेक्शन को अपनी बूटस्ट्रैप फ़ाइल में एक बार बनाकर इंस्टेंस के बीच साझा करना काफी आसान है और फिर इसे ऐसे इंस्टेंस पर पास करना, जिन्हें इसकी आवश्यकता है, उदा.

$mysqli = new mysqli(/* connection params */);
$someClassUsingMySqli = new SomeClassUsingMySqli($mysqli);
$anotherClassUsingMySqli= new AnotherClassUsingMySqli($mysqli);

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

आपके आयात और निर्यात कार्य के लिए, मुझे आश्चर्य है कि आप PHP में ऐसा क्यों कर रहे हैं। यह स्पष्ट रूप से वही डेटाबेस सर्वर है, इसलिए आप इसे अपने MySQL इंस्टेंस के अंदर ही कर सकते हैं। यदि आप इसे PHP के साथ करना चाहते हैं, तो शायद मैं कुछ ऐसा करूँगा:

class MigrateForum
{
    private $dbConnector;

    public function __construct(DBConnector $dbConnector)
    {
        $this->dbConnector = $dbConnector;
    }

    public function migrate()
    {
        // orchestrate the migration (consider transactions)
        $this->exportOldForum();
        $this->importNewForum();
    }

    private function exportOldForum()
    {
        // code to export old_database_name.table_name 
    }

    private function importOldForum()
    {
        // code to import new_database_name.table_name 
    }
}

आप आयात और निर्यात विधियों को अपनी कक्षाओं में निकाल सकते हैं और फिर किसी प्रकार का उपयोग कर सकते हैं समग्र कमांड पैटर्न , लेकिन यह वास्तव में इस बात पर निर्भर करता है कि आपको यह कितना मॉड्यूलर होना चाहिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. प्रत्येक खोजशब्द के लिए शीर्ष 'एन' परिणाम

  2. कैसे समझें कि mysql त्रुटि संदेशों को कनेक्ट नहीं किया जा सकता है?

  3. MySQL रहस्य:शून्य मान गैर-शून्य स्ट्रिंग से अलग नहीं है

  4. हर प्रविष्टि को हिट किए बिना चीजों की सूची अपडेट करें

  5. MySQL में कर्मचारी प्रबंधन प्रणाली के लिए डेटाबेस डिजाइन करने के लिए गाइड