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

OOP का उपयोग करके किसी अन्य .php से दूसरे .php की कक्षा में $db का उपयोग कैसे करें?

बेहतर होगा कि आप एक DB बनाएं आप जो करने की कोशिश कर रहे हैं उसे हासिल करने के लिए क्लास या पहले से बनाए गए एक का उपयोग करना।

इस तरह की चीजों के लिए सामान्य प्रवाह कॉल है आलसी लोडिंग/निर्भरता इंजेक्शन . जहां आप आवश्यक वस्तुओं को कक्षा में पास कर रहे हैं।

जैसा बेन ने टिप्पणियों में बताया :

एक तरफ जो ऊपर उल्लेखित नहीं है, आपको PHPTheRightWay को देखना सबसे अच्छा होगा। , वे एक लॉट . सूचीबद्ध करते हैं सामग्री की, निर्भरता इंजेक्शन सहित ।

आप अंत में कुछ ऐसा बना देंगे। यह कैसे काम करता है यह समझने के लिए आप इस उदाहरण का अनुसरण करें तो बेहतर होगा:

 Class DB {

    function __construct($host, $user, $pass, $db) { 
        return $this->connect($host, $user, $pass, $db); 
    }

    function connect($host, $user, $pass, $db) {
        //..connect and all.
    }

    //...the rest of your functions/class...
}
 

अब हम मज़ेदार चीज़ों पर आते हैं। वास्तव में इसे अपनी कक्षा में इंजेक्ट करना;

Class Foo {

    $private $db;

    // your construct method here will ONLY except a `DB` class instance/object as $db. 
    // Try it with anything else and learn from the errors to understand what I mean.
    function __construct(DB $db){
        $this->db = $db;
    }

}

$db = new DB($host, $user, $pass, $db);
// you can error check it here

$foo = new Foo($db);// inject the $db object.
 

यदि आप केवल संसाधन साझा करना चाहते हैं, तो आप global . का उपयोग कर सकते हैं , लेकिन यह दृढ़ता से हतोत्साहित किया जाता है

include('connection.db.php');

class MySQLqueries {
        public function samplefunction($queryString) {
            global $db;
            $sqlQry = mysqli->query($queryString);

            return ($sqlQry) ? "<pre>Query Executed Successfully</pre>" : die("<pre>An error occured -> $db->error</pre>");
        }
}
 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sql:प्रत्येक उपयोगकर्ता से सबसे अधिक वोट किए गए आइटम का चयन करें

  2. MySQL रिमोट एक्सेस के लिए एक SSH टनल बनाएं

  3. दो mySQL डेटाबेस को एक में कैसे मर्ज करें?

  4. Mysql में int(10) का अधिकतम आकार क्या है?

  5. सर्वश्रेष्ठ MySQL DigitalOcean प्रदर्शन - स्केलग्रिड बनाम DigitalOcean प्रबंधित डेटाबेस