बेहतर होगा कि आप एक 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>");
}
}