/* +---------------------------------------------- --- ---------------------------------+ | = この記事は Haohappy によって読まれています> = 章のクラスand Objects Notes | = 翻訳 + 個人的な経験 | = 不要なトラブルを避けるため、転載はご遠慮ください。 = 批判や修正は歓迎です。PHP 愛好家と一緒に進歩していきたいと思っています。 --- --------------------------------------------------- --- --------------------+ */ セクション 5 - クローン作成 PHP5 のオブジェクト モデルは参照によってオブジェクトを呼び出しますが、場合によっては、この目的のために、PHP は __construct や __destruct と同様に、先頭に 2 つのアンダースコアを付けます。元のオブジェクトと同じプロパティとメソッドを持つオブジェクトを作成します。クローン作成時にデフォルトのコンテンツを変更したい場合は、__clone メソッドにパラメータを含めることはできませんが、このメソッドにはパラメータが含まれています。そしてそのポインタ (コピーされるオブジェクトを指す) を自分自身で複製することを選択した場合、__clone を使用してコピーしない場合は、オブジェクトに含める情報を慎重にコピーする必要があります。暗黙的なコピーが実行される場合は、シリアル番号を使用してオブジェクトを自動化する例を示します。 name = $name; $this->id = ++self::$nextSerial; } function __clone() // clone { $this->name = "$that->name のクローン"; $this->id = ++self::$nextSerial; } function getId() //id 属性の値を取得する { return($this- >id ); } function getName() // name 属性の値を取得します { return($this->name) } } $ot = new ObjectTracker("Zeevs Object"); (); / /出力: 1 Zeevs オブジェクト print($ot->getId() . " " . $ot->getName() . "
http://www.bkjia.com/PHPjc/532190.html