Heim > Backend-Entwicklung > PHP-Tutorial > PHP-Referenzen

PHP-Referenzen

WBOY
Freigeben: 2024-08-29 12:49:00
Original
1116 Leute haben es durchsucht

PHP-Referenzen sind Symboltabellen-Aliase, mit denen auf den Inhalt einer Variablen unter verschiedenen Namen zugegriffen werden kann. Der explizit definierten referenzierten Variablen muss ein kaufmännisches Und-Symbol (&) vorangestellt werden. Die Funktionalität von PHP-Referenzen lässt sich anhand der Analogie der Windows-Verknüpfung erklären. PHP-Referenzen können in der PHP-Programmierung auf verschiedene Arten definiert werden.

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Methoden zum Erstellen von PHP-Referenzen

Die am häufigsten verwendeten Methoden zum Erstellen von PHP-Referenzen werden im Folgenden erläutert:

1. Verwenden des Schlüsselworts „global“

In der Methode kann eine Referenz mit dem Schlüsselwort „global“ vor der referenzierten Variablen erstellt werden. Durch die Deklaration einer Referenz als globale Variable wird die Variable zum Array $GLOBAL hinzugefügt und ermöglicht dem Benutzer den Zugriff auf eine globale Variable innerhalb des Funktionsumfangs. Grundsätzlich gibt es zwei Möglichkeiten, wie eine PHP-Referenz definiert werden kann, indem sie als globale Variable deklariert wird, wie zum Beispiel:

function Function_name() {
global $globalVar;
}
OR
function Function_name() {
$globalVar =& $GLOBALS["globalVar"];
}
Nach dem Login kopieren

Beispiel

Der folgende Codeausschnitt soll den Unterschied zwischen dem Wert für dieselbe Variable in Bezug auf den lokalen Bereich und den globalen Bereich veranschaulichen.

<?php
function functionname() {
$inputvar = "within function scope";
echo '$inputvar in global scope: ' . $GLOBALS["inputvar"] . "\n";
echo '$inputvar in current scope: ' . $inputvar . "\n";
}
$inputvar = "Outside function scope";
$othervar= $GLOBALS["inputvar"]; //Creating inputvar in GLOBAL array
functionname();
echo '$othervar : ' . $othervar . "\n";
?>
Nach dem Login kopieren

Ausgabe

Othervar ist der Referenzsatz für die Eingabevariable aus dem GLOBAL-Array. Es ist nicht an die Variable inputvar gebunden, die im lokalen Bereich der Funktion definiert ist.

PHP-Referenzen

2. Verwendung von $this Variable

Die Variable „$this“ ist ein Standardverweis auf das Objekt für die Funktion, auf die die Variable $this verwiesen wird.

Beispiel

Der folgende Code demonstriert die Verwendung der Variablen $this, um auf den Wert einer beliebigen Klasseneigenschaft des ausgewählten Klassenobjekts zuzugreifen.

<?php
class Thisclass {
var $clsproperty = 300;
function classmethod() {
$this->clsproperty = 500; // $this is a reference to the object
}
}
$clsObject = new Thisclass();
$clsObject->classmethod();
echo "The displayed value is: ". $clsObject->clsproperty;
//display the value updated using $this property
?>
Nach dem Login kopieren

Ausgabe

Der Wert der cls-Eigenschaft wird basierend auf dem Wert angezeigt, der mit der Variablen $this festgelegt wurde.

PHP-Referenzen

3. Übergeben eines Objekts

Bei der PHP-Programmierung jede Operation, die an einem Klassenobjekt ausgeführt wird, z. B. Zuweisen, Zurückgeben oder Übergeben usw.; Die Operation wird immer mit Bezug auf das Objekt und nicht auf dessen Kopie ausgeführt.

Die Standardsyntax zum Erstellen einer PHP-Objektreferenz lautet wie folgt:

class ClassName {
//Body of the class
}
$classObj1 = new ClassName ();
$classObj2= $classObj1;
Nach dem Login kopieren

Hier bezieht sich das Objekt classObj2 auf denselben Inhalt, der in classObj1 enthalten ist.

Beispiel

Der folgende Codeausschnitt dient dazu, ein Referenzobjekt für das eigentliche Objekt zu erstellen und auf seine Eigenschaften zuzugreifen.

<?php
class Costume {
// Declaring the class properties
public $name;
public $color;
// Declaring the class methods
function set_name($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
function set_color($color) {
$this->color = $color;
}
function get_color() {
return $this->color;
}
}
//Creating the object
$constume1 = new Costume();
$constume1->set_name('Superman');
$constume1->set_color('Blue and Red');
//Creating the object reference
$constume2=$constume1;
echo "Costume1 Name: " . $constume1->get_name();
echo "\n";
echo "Costume1 Color: " .  $constume1->get_color();
echo "\n";
echo "\n";
echo "Costume2 Name: " . $constume2->get_name();
echo "\n";
echo "Costume2 Color: " .  $constume2->get_color();
?>
Nach dem Login kopieren

Ausgabe

Das Referenzobjekt „Kostüm2“ bezieht sich auf dieselben Werte, die in den Eigenschaften „Name“ und „Farbe“ des tatsächlichen Objekts „Kostüm1“ enthalten sind.

PHP-Referenzen

Verschiedene Operationen der PHP-Programmierung

Bei der PHP-Programmierung werden verschiedene Operationen mit PHP-Referenzen ausgeführt. Einige der wichtigsten Operationen werden in der folgenden Sitzung besprochen:

1. Referenzübergabe

Damit eine Funktion eine Variable ändern kann, die außerhalb ihres Gültigkeitsbereichs definiert ist, muss der Wert über seine Referenz an die Funktion übergeben werden.

Beispiel

Der folgende Codeausschnitt ändert den Wert der Variablen, die außerhalb des Bereichs der aufgerufenen Funktion definiert ist, mithilfe der Referenz auf die Variable.

<?php
function Afunction(&$input) //passing the input argument by reference
{
$input*=10;
}
$outVar=5;
echo "Before the function is called: ".$outVar;
echo "\n";
Afunction($outVar);
echo "After the function is called: ".$outVar;
?>
Nach dem Login kopieren

Ausgabe

Der Wert der Variablen outvar wird durch die Funktion AFunction() geändert.

PHP-Referenzen

2. Zurückgeben von Referenzen

Dieser Vorgang ermöglicht es der aufrufenden Funktion, die Variable herauszufinden, an die die Referenz gebunden werden soll. Es wird empfohlen, es nur zu verwenden, wenn technische Anforderungen bestehen, da es sonst nicht zur Leistung des Programms beiträgt.

Beispiel

Der folgende Codeausschnitt dient dazu, den Rückgabewert einer übergeordneten Funktion als Referenz an die übergeordnete Klasse der definierten Klasse zu übergeben.

<?php
class parentclass {
public $parentvar = "I am set at parent class";
public function &parentfunction()
{
return $this->parentvar;
}
}
$parentobj = new parentclass;
$newvar = &$parentobj->parentfunction();
echo $newvar;
echo "\n";
$parentobj->parentvar= "I am set outside of the class";
echo $newvar;
?>
Nach dem Login kopieren

Ausgabe

PHP-Referenzen

3. PHP-Referenz deaktivieren

Der Benutzer kann die Bindung zwischen der Variablen und der Referenz mithilfe der Methode unset() aufheben.

Beispiel

Der folgende Codeausschnitt zeigt die Verwendung der Methode unset(), um die referenzierte Variable firstinput von secondinput zu entbinden.

<?php
$firstinput = "I am first input";
$secondinput =& $firstinput;
echo "First input: ". $firstinput;
echo"\n";
echo "Second input: " . $secondinput;
unset($firstinput);
echo"\n";
echo"\n";
echo "After unsetting the reference: ";
echo"\n";
$firstinput = "I am set to second input";
echo"\n";
echo "First input: ". $firstinput;
echo"\n";
echo "Second input: " . $secondinput;
?>
Nach dem Login kopieren

Ausgabe

PHP-Referenzen

Fazit

PHP-Referenzen sind wichtige Funktionen, die in die PHP-Skripterstellung integriert sind. PHP-Referenzen sind keine Zeiger, wie es für „C“ beschrieben werden kann, die auch Speicher belegen, um doppelte Elemente zu erstellen. Vielmehr handelt es sich bei PHP-Referenzen lediglich um unterschiedliche Alias, um auf den Inhalt der tatsächlichen Variablen zu verweisen. Wenn für ein Objekt in PHP eine Kopie eines Objekts erforderlich ist, kann dies mit dem Schlüsselwort „clone“ erfolgen.

Das obige ist der detaillierte Inhalt vonPHP-Referenzen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage