ホームページ  >  記事  >  バックエンド開発  >  PHPでクラスオブジェクトを作成する方法を詳しく解説

PHPでクラスオブジェクトを作成する方法を詳しく解説

小云云
小云云オリジナル
2018-03-31 10:00:591340ブラウズ

この記事では、PHPで作成したオブジェクトについて、主にテキストとコードを使って詳しく説明しますので、皆様のお役に立てれば幸いです。

PHP でのオブジェクトの作成は次のとおりです: 新しいクラス名;

Class A{
	public $p1=1;
}
$o1=new A();
var_dump($o1);

結果は次のようになります:

変数 $o1 がクラス A のオブジェクト型であることがわかります。 「#1」はシステム内部のカスタム識別子です。

システムが作成されると、変数 $o1 は実際にはシステムの内部カスタマイズされた識別子 #1 に格納され、対応するオブジェクト エンティティは #1 を通じて検索されます (参照渡しと同様)。

変数 $o1 を $o2 に代入した後、オブジェクト o1 の対応する p1 値を変更します。このとき、o2 の対応する p1 値も変更されます:

$o2=$o1;
$o1->p1=10;
echo "<br/>$o2->p1";
var_dump($o2);

$o1 の属性を変更する場合、$ o2 の属性もそれに応じて変更されます。そして、o1 と o2 のプロパティは同じです (実際、これらは同じオブジェクトを指します)。

実際の方法は図に示すとおりです:


そして、クラスオブジェクトでの pass by value の適用の場合:

Class A{
	public $p1=1;
}
$o1=new A();
$o2=&$o1;
$o1->p1=10;
echo $o1->p1;
echo "<br/>";
echo $o2->p1;
echo "<br/>";
var_dump($o1);
echo "<br/>";
var_dump($o2);

オブジェクト o1 の属性 p1 を変更すると、その属性はo2 それも変わりました。これは、「値の受け渡し」と「参照の受け渡し」についてのこれまでの理解とは異なります。

具体的な実装方法は次のとおりです:


つまり、$o2 は unset ($o1) 後も存在します。

りー

以上がPHPでクラスオブジェクトを作成する方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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