私が最善を尽くそうとしているのは、プログラム内の複数のオブジェクトをデータベースに接続することでした。
静的接続変数を使用してクラスを作成しました。これは、1つの接続のみが開かれ、すべてのオブジェクトがそれを共有することを意味しているようです。
class Database {
public static $mysql;
function __construct() {
if (!isset(self::$mysql)) {
echo "Make static connection\n";
self::$mysql = new mysqli("localhost", "gamalert", "c45ualty", "events");
if (self::$mysql->connect_errno) {
echo "Failed to connect to MySQL: (" . $this->mysql->connect_errno . ") " . self::$mysql->connect_error;
}
echo self::$mysql->host_info . "\n";
}
}
}
通常のオブジェクトバージョン。これにより、それを使用するオブジェクトごとに新しい接続が作成されます。
class Database {
public $mysql;
function __construct() {
if (!isset($this->mysql)) {
echo "Make connection\n";
$this->mysql = new mysqli("localhost", "gamalert", "c45ualty", "events");
if ($this->mysql->connect_errno) {
echo "Failed to connect to MySQL: (" . $this->mysql->connect_errno . ") " . $this->mysql->connect_error;
}
echo $this->mysql->host_info . "\n";
}
}
私は好ましいオプションが何であるか疑問に思いましたか?後でパフォーマンスの違いをテストする予定です。