Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung zum Erstellen von Klassenobjekten in PHP

Detaillierte Erklärung zum Erstellen von Klassenobjekten in PHP

小云云
小云云Original
2018-03-31 10:00:591340Durchsuche

Dieser Artikel gibt Ihnen hauptsächlich eine detaillierte Erklärung der in PHP erstellten Objekte, hauptsächlich unter Verwendung von Text und Code. Ich hoffe, dass er allen helfen kann.

Die Erstellung von Objekten in PHP ist: neuer Klassenname;

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

Das Ergebnis ist:

Sie können das sehen Variable $o1 Ist ein Objekttyp der Klasse A. „#1“ ist eine systeminterne benutzerdefinierte Kennung.

Wenn das System erstellt wird, ist das, was in der Variablen $o1 gespeichert wird, tatsächlich die interne benutzerdefinierte Kennung Nr. 1 des Systems, und die entsprechende Objektentität wird über Nr. 1 gefunden (ähnlich der Übergabe per Referenz).

Nachdem die Variable $o1 $o2 zugewiesen wurde, wird der entsprechende p1-Wert in Objekt o1 geändert. Zu diesem Zeitpunkt ändert sich auch der entsprechende p1-Wert in o2:

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

Beim Ändern der Attribute in $o1 ändern sich auch die entsprechenden Attribute in $o2. Und die Eigenschaften von o1 und o2 sind gleich (tatsächlich zeigen sie auf dasselbe Objekt).

Der tatsächliche Weg ist wie in der Abbildung dargestellt:


Und für die Anwendung von Wertübergabe im Unterricht Objekte:

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);

Wenn Sie das Attribut p1 im Objekt o1 ändern, ändern sich auch die Attribute in o2. Es entspricht nicht unserem bisherigen Verständnis von „Wertübergabe“ und „Referenzübergabe“.

Die spezifische Implementierungsmethode ist:


$o2 existiert also immer noch, nachdem es nicht gesetzt wurde ($o1).

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

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung zum Erstellen von Klassenobjekten in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn