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>");
}
}