というテーブルとCat
という PHP クラスがありCat
ます。CatDataMapper
今、私はクラスを作りたいので、 Cat extends CatDataMapper
.
Data Mapper クラスで、ORM を実行したり、Cat を作成、編集、削除したりするための基本的な機能を提供したいと考えています。
そのために、このパターンをよく知っている誰かが私に役立つアドバイスをくれるでしょうか?update()、delete()、save() などの関数を提供するだけでは少し単純すぎると思います。
Data Mapper にはこの問題があることに気付きました: まず、Cat のインスタンスを作成し、次に name、furColor、eyeColor、purrSound、meowSound、attendants などのすべての変数を初期化します。すべての設定が完了したら、save( ) CatDataMapper から継承された関数。これは単純なことでした ;) しかしここで、本当の問題: データベースに猫のクエリを実行すると、多くの猫のデータを含む単純で退屈な結果セットが返されます。
PDO には、Cat インスタンスを作成するための ORM 機能があります。私がそれを使用しているとしましょう。あるいは、連想配列を取る mapDataset() 関数があるとさえ言えます。しかし、データ セットから Cat オブジェクトを取得するとすぐに、冗長なデータができてしまいます。同時に、20 人のユーザーがデータベースから同じ猫のデータを取得し、猫のオブジェクトを編集することができます。つまり、猫の名前を変更して、それを保存します。彼ら全員が編集を保存すると、すべてが台無しになります。
うーん... わかりました、この質問を非常に短くするために、ここでの良い習慣は何ですか?