0

クラスを使用してデータをクラスに変換する最良の方法を見つけようとしていますが、同じクラスを使用してテーブルに挿入したり情報を返したりしていますが、それを行う最良の方法がわかりません。コンストラクターが概念的に問題を引き起こしているようです。現在、次を使用してすべてのレコードをクラスにクエリするページがあります。

$query->fetchAll(PDO::FETCH_CLASS, "Contact", array($dbh))

そしてもちろん、各レコードを「連絡先」クラスに配置し、各行を同じ名前のプライベート データ メンバーと、レコードの追加/更新/削除用のデータベース接続ハンドルに配置します。それは完全にうまくいきます。しかし、生データをクラスに変換すると問題が発生します。[私の知る限り]上記のコードの構文に従っていると、他のコンストラクターパラメーターを指定できないか、ずさんなハックになります。ここに私が持っているコードがあります:

class Contact {
    private $dbh;
    private $Contact_ID;
    private $Contact_First_Name;
    private $Contact_Last_Name;
    private $Contact_Email;
    private $Contact_Phone_Number;

    public function __construct($dbh) {
        $this->dbh = $dbh;
    }

    // .. 
}

そのため、フォームのデータを使用して新しい Contact オブジェクトを作成しようとすると、データ メンバーを格納する方法がありません。デフォルトのパラメーターを使用して動作するようにハックを試み、デフォルト値が変更されないようにチェックしました (これは fetchAll() の一部であるため)。

ありがとう。

4

0 に答える 0