こんにちは! バックエンドエンジニアの高町咲衣です! この記事では、PHPでDDD(ドメイン駆動設計)を扱う際に気になる「値オブジェクトを更新=作り直した時のメモリ周りの挙動」について調査した結果をまとめています。 値オブジェクトは不変である DDDの文脈における値オブジェクト(ValueObject)の特徴の一つとして、不変(immutable)であることが挙げられます。 値オブジェクトは「値を表現する」オブジェクトであり、例えばプリミティブな値であるint、stringなどと同じように取り扱うべきだとされています。 // プリミティブな値を用いた、ごく一般的な感覚のコード例 $number = 1; // 値をセットする $number = 2; // 値を入れ直す var_dump($number); // 2 var_dump($number === 1); // false //