PHPでオブジェクトを最大限に活用する方法を誰かが理解するのを手伝ってくれるかどうか疑問に思っています。
PHPオブジェクトについての私の理解は、エンティティを表し、そのエンティティのプロパティを取得および変更するためのメソッドを提供する必要があるということです。たとえば、Postというタイトルのオブジェクトは、単一の投稿のすべてのプロパティを保持し、必要に応じてアクセスおよび変更できます。
私に混乱を引き起こしているのは、CodeIgniterのようなライブラリがこのマナーでオブジェクトを使用していないことです。これらは、クラスを関数のグループのラッパーのように扱います。したがって、CodeIgniterの「Posts」クラスは1つの投稿のプロパティを保持せず、投稿をフェッチ、編集、および削除するための関数を提供します。
では、データベースからすべての投稿を取得してPostオブジェクトに入れたい場合はどうなりますか?私の理解では、実際には2つのクラス「Posts」と「Post」が必要です。1つはPostオブジェクトを定義し、もう1つはデータベースからのPostのフェッチとPostオブジェクトへの配置を処理します。
これらの2つのタイプのクラスには名前がありますか(「適切な」オブジェクト/関数のコレクション)?そして、このように2つのクラスが連携することはよくあることですか、それともオブジェクトの使用方法を完全に誤解しているのでしょうか。
Postオブジェクトを使用する代わりに、配列を返すgetSinglePost($ id)というメソッドをPostsクラスに含める方が理にかなっていますか?
うまくいけば、その質問が理にかなっており、フィードバックを得るのを楽しみにしています。