इसे विधि में ही पास करें
आपको डेटाबेस ऑब्जेक्ट को विधि में पास करना होगा, क्योंकि वे एक ही दायरे में नहीं हैं:
function runQuery($mysqli)
और इसे पसंद करें
$a = new theClass;
$a->runQuery($mysqli);
इसे कंस्ट्रक्टर को पास करें
यदि आपकी कक्षा बहुत सारे डेटाबेस कॉल करती है, तो आप इसे केवल कंस्ट्रक्टर में पास कर सकते हैं और बाद में उपयोग के लिए इसे एक निजी चर के रूप में सहेज सकते हैं:
class theClass
{
private $mysqli;
function __construct($mysqli) {
$this->mysqli = $mysqli;
}
function runQuery()
{
$query = "SELECT col_1 FROM db.table";
$stmt = $this->mysqli->prepare($query);
stmt->execute();
$stmt->bind_result($r);
while($stmt->fetch())
{
echo $r . "<br>";
}
}
};
और इसे पसंद करें
$a = new theClass($mysqli);
$a->runQuery();
दोनों विधियां यह स्पष्ट करती हैं कि आपकी कक्षा की निर्भरता एक mysqli वस्तु है, जो भविष्य के रखरखाव और पठनीयता के लिए अच्छी है।