ホームページ > バックエンド開発 > PHPチュートリアル > PHPオブジェクトクローンアプリケーション

PHPオブジェクトクローンアプリケーション

WBOY
リリース: 2016-06-13 13:03:40
オリジナル
864 人が閲覧しました

PHP オブジェクト クローンの使用

1. ?

? PHP5 は、元のオブジェクトと同じプロパティとメソッドを持つオブジェクトを作成する __clone() を定義します。クローン作成後に元のオブジェクトの内容を変更したい場合は、__clone() で元のプロパティとメソッドを書き直す必要があります。

?

????? __clone() にはパラメーターを含めることはできませんが、$this と $that という 2 つのポインターが自動的に含まれます。

$this はレプリカを指します

$ はオリジナルを指します

?

2.

クラス内で新しいクラスが宣言された場合

class ConcretePrototype{
?? ?public function __construct() {
?? ?$this->id = 1;
?? ??$this->obj = new StdClass();
?? ?$this->obj->name = 'dashu';? ?}
?? ?
?? ?パブリック関数 myclone() {
?? ?クローン $this;
?? ?}
???

????

// これがなければ、$obj は参照になります。実際に試してみてください。 ???
?private function __clone( ) {
?? ?$this->obj = クローン $this->??}
}$p = new ConcretePrototype();
$q = $p->myclone();
var_dump($p, $q);
$q -> ;id = 2;

//$q の obj の属性を変更します。$p の対応する属性は変更されません

$q->gt;obj->name = ' xiayi' ;var_dump($p, $q);

?

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート