データベース操作を処理するクラスを構築しているので、PDOを使用することにしました。
最初は、静的メソッドを使用して呼び出しを単純化することにしました。属性は変更されず、メソッドは独立しているため、オブジェクトの参照を保存する必要がないためです。ただし、このソリューションでは、そのようなクラスのメソッドを呼び出すたびに新しいPDOオブジェクトをインスタンス化し、データベースに接続してから、クエリを準備して実行する必要があります。
以下は、このクラスのインサートmnethodのベースの例です。
public static function insert($table, $columns, $values){
$dbConnection = new PDO('mysql:dbname='.self::$db.'; host='.self::$host.'; charset=utf8', self::$login, self::$pass);
... create the sql query and the associative array of values
$stmt = $dbConnection->prepare($sql);
$stmt->execute($array_aux);
}
したがって、すべての呼び出しでPDOオブジェクトをインスタンス化するのは非効率的すぎるのではないかと思います。また、PDO参照を保存するのが最善であるかどうかなど、静的メソッドを使用しないでください。
ps:単体テストが難しいため、静的メソッドを嫌う人もいますが、場合によってはかなり便利です。