重複の可能性:
データベース接続/オブジェクトをPHPの関数に取り込むための最良の方法は何ですか?
PHPでのデータベースとOOPの実践
OOPショッピングカートを作成しようとしています。
現在、それは半分のOOPであり、半分の手続き型です...例:
function removeFromCart() {
require_once('/.../.../connectPDO.php');
$db = connectPDO();
$sql = 'DELETE FROM Quotes WHERE User = :user and ProductId = :pid';
$stmt = $db->prepare($sql);
$stmt->execute(array(':user' => $user, ':pid' => $pid));
}
私の問題は、カートに追加したい場合、関数addToCartで、db接続を再度要求する必要があることです。
すべての関数に次のものが含まれている必要があることを考えると、これは完全な無駄のようです。
require_once('/.../.../connectPDO.php');
$db = connectPDO();
これは完全に非効率的であることを認識しており、上記の接続を使用してDBに接続するスケルトンOOPカートクラスを作成するのを誰かが手伝ってくれるかどうか疑問に思っていましたか?
これはコンストラクターに入りますか?ユーザーがフロントエンドで1つのページから別のページに移動しても、これは存続しますか?
私はOOPに不慣れで、完全に迷子になっています。
よろしくお願いします。