オブジェクト指向アプローチで mysqli を使用することは、手続き型アプローチよりも優れているという結論に達しました。(出典: mysqli を使用したオブジェクト指向 PHP が手続き型アプローチよりも優れているのはなぜですか? )。しかし、私がやっていることが本当に以前よりも効率的であるかどうかはよくわかりません.
SQLクエリを実行する関数があります。これは私のコードブロックがどのように見えるかです:
データベース接続:
function connectDB(){
$con = mysqli_connect(server, username, password, database);
return $con;
}
クエリ機能:
function executeQuery($payload){
$con = connectDB;
$result = mysqli_query($con, $payload);
return $result;
}
executeQuery
ご覧のとおり、が呼び出されるたびに新しいデータベース接続を作成しているため、これはあまり効率的ではありません。だから私はOOPを使って試してみることにしました。
データベース接続 (OOP):
function connectDB(){
$con = new mysqli(server, username, password, database);
return $con;
}
データベース クエリ (OOP):
function executeQuery($payload){
$con = connectDB();
$result = $con->query($payload);
return $result;
}
今私には、明らかに何か間違ったことをしているように思えます。クエリが呼び出されるたびに、mysqli
クラスを再インスタンス化しています。つまり、別のデータベース接続を作成していると思います。
では、これを適切かつ効率的に行うにはどうすればよいでしょうか。