クラス基礎 レッスン7
オブジェクトの複製
cloneキーワードと__cloneメソッドによるオブジェクト複製を学びます。
概要
PHPのオブジェクトは代入時に参照が渡されます。cloneキーワードでオブジェクトを複製(コピー)できます。__cloneメソッドで複製時の処理をカスタマイズできます。
- $copy = clone $original でシャローコピーを作成する
- __cloneメソッドでclone時に呼ばれる処理を定義できる
- ネストしたオブジェクトはシャローコピーでは共有されるため注意
参照とcloneの違い
代入は参照のコピーなので、cloneで実体を複製する必要があります。
PHPエディタ
__cloneメソッドのカスタマイズ
__cloneで複製時に内部オブジェクトもディープコピーできます。
PHPエディタ