私はいくつかの「モデル」型クラスの上にデータベース抽象化のレイヤーを構築したい小さなphpアプリを持っています。
私は ezSQL_mysql を使用してデータベースの作業を行っています。
私の質問は、アプリを設計する最良の方法は何ですか? シングルトン パターンを使用して db 接続を共有する必要がありますか? 「モデル」クラスは ezSQL_mysql を拡張する必要がありますか? あるいは、私はここで完全に基地から外れており、何か他のことをする必要があるのかもしれません.
私が必要なのはこのようなものです
Controller.php
$db = new ezSQL_mysql($db_user, $db_passwd, $db_database, $db_host);
$user = new User();
$user->update_email($new_email);
$sale = new Sale();
$sale->purchase($amount);
User_model.php
class User {
/* uses $db connection */
function update_email(){
/* do something */
};
}
Sale_model.php
class Sale {
/* uses $db connection*/
function purchase () {
/* do something */
}
}