ホームページ >バックエンド開発 >PHPチュートリアル >php5 PHP5 のオブジェクト割り当てメカニズムの概要

php5 PHP5 のオブジェクト割り当てメカニズムの概要

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-07-29 08:46:21798ブラウズ

コードをコピー コードは次のとおりです:


class SimpleClass{
public $var = 'デフォルト値'
public function displayVar() {
echo $this->var ;
}
}
$instance = new SimpleClass();
$reference =& $instance;
$instance->var = '$assigned はこの値になります'; null; / / $instance と $reference は null になります var_dump($instance);var_dump($assigned);
var_dump($assigned);
?> ;


php5 は OOP の最下層を書き換えます。クラスがインスタンス (オブジェクト) を生成するとき、戻り値 $instance はオブジェクトそのものではなく、オブジェクトの ID (またはリソース ハンドル) にすぎません。したがって、$instance が $assigned に代入されると、$assigned も を指します。このオブジェクトは、通常の変数の参照 (&) 操作に少し似ています。したがって、$instance が初期化されると、$assigned も初期化されます。ただし、$instance が破棄される (=null) 場合、対応するオブジェクトにはまだハンドル ($assigned) があるため、オブジェクトは破棄されず、デストラクターはトリガーされません。結果として、var_dump($assigned) はオブジェクトの値であり、$instance はすでに空のハンドルであり、null を示しています。 $referenceは$instanceと通常の変数と同様の参照関係にあるため、やはり空のハンドルとなりnullが表示されます。
以上、php5 の内容も含めて php5 のオブジェクト割り当ての仕組みを紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。