私がOrder
オブジェクトを持っていて、それぞれOrder
がオブジェクト、オブジェクト、顧客ID、またはその両方を保持するCustomer
必要がある場合はどうなりますか?Order
Customer
それはコンテキストに依存しますか、それともOOPでオブジェクトを処理しているので、データベース列のようなIDだけでなく、オブジェクトをOrder
理想的に保持する必要がありますか?Customer
ありがとう。
データベースの考え方と PHP コードの設計を混同しないでください。通常、プロパティは ID ではなくオブジェクト自体に設定する必要があります。このような:
class Order {
/**
* @var Contact
*/
protected $contact;
public function __construct(Contact $contact) {
$this->contact = $contact;
}
}
しかし、連絡先の id だけにするのが理にかなっている理由があります。最良の例は、連絡先をデータベースから取得する必要がある場合ですが、特別な場合を除いて、通常はその情報は必要ありません。次に、id のみをクラス プロパティとして保持し、必要に応じて連絡先を取得すると便利な場合があります。(「遅延読み込み」として知られています)。「遅延読み込み」は、フレームワークによって舞台裏に隠されている可能性があることに注意してください。