は、PHPのマニュアルからのテキストです:PHPのエンティティ 'Object'、 'Object Reference'、 'Object Identifier'、 'Object Accessors'とは何ですか?どのように機能するのですか?以下
PHP、各変数がオブジェクト参照ではなく オブジェクト全体のコピーが含まれていることを を意味し、参照またはハンドルと同じようにオブジェクトを扱います。
PHPリファレンスは別名で、2つの異なる変数が同じ値に書き込むことができます。 PHP 5以降、オブジェクト はオブジェクト自体を値として含まなくなりました。 には、オブジェクトアクセサーが実際のオブジェクト を見つけることを可能にするオブジェクト識別子が含まれています。オブジェクトが引数で送信されたとき、または が別の変数に割り当てられたとき、別の変数は別名ではありません。 これらは同じオブジェクトを指す識別子のコピーを保持します。
- 「オブジェクト」は正確に何を:私は私の心に疑問を以下まし上記のテキストを通過した後
?
上記のエンティティはどのように機能しますか?
私が理解しやすい、シンプルで明快な言葉を短く段階的に持っているかどうか疑問にお答えください。
コード内の適切な場所に説明コメントを入れて、適切な作業コードの例を使ってこれらの概念を説明できるとよいでしょう。
可能であれば、誰かがこれらの概念の作業の図解表現の助けを借りて説明することもできます。それは高く評価されるだろう。
上記のすべての概念を説明するために、次の例を使用するか、独自の適切な例を指定することができます。
<?php
class A {
public $foo = 1;
}
$a = new A;
$b = $a;
$b->foo = 2;
echo $a->foo."\n";
$c = new A;
$d = &$c;
$d->foo = 2;
echo $c->foo."\n";
$e = new A;
function foo($obj) {
$obj->foo = 2;
}
foo($e);
echo $e->foo."\n";
?>
ありがとうございます。
PHPマニュアルから参照リンク:
- https://secure.php.net/manual/en/oop5.intro.php#oop5.intro
- https://secure.php.net/manual/en/language.oop5.references.php#language.oop5.references
あなたが引用されたマニュアルページへのリンクを追加してもらえますか? – Barmar
@Barmar:質問の最後にそれぞれのリンクを追加しました。更新された質問の本文を参照してください。 – user2839497