Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Rujukan PHP

Rujukan PHP

WBOY
WBOYasal
2024-08-29 12:49:00868semak imbas

Rujukan PHP ialah alias jadual simbol yang mana kandungan satu pembolehubah boleh diakses dengan nama yang berbeza. Pembolehubah rujukan yang ditakrifkan secara eksplisit perlu didahului oleh simbol ampersand (&). Kefungsian rujukan PHP boleh dijelaskan menggunakan analogi pintasan Window. Rujukan PHP boleh ditakrifkan dalam pengaturcaraan PHP dalam pelbagai cara.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Kaedah untuk Mencipta Rujukan PHP

Kaedah yang paling banyak digunakan untuk membuat rujukan PHP dibincangkan seperti di bawah:

1. Menggunakan Kata Kunci 'global'

Dalam kaedah rujukan boleh dibuat menggunakan kata kunci ‘global’ sebelum pembolehubah yang dirujuk. Mengisytiharkan rujukan sebagai pembolehubah global menambahkan pembolehubah pada tatasusunan $GLOBAL dan membolehkan pengguna mengakses pembolehubah global dalam skop fungsi. Pada asasnya terdapat dua cara di mana rujukan PHP boleh ditakrifkan diisytiharkan sebagai pembolehubah global seperti:

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

Contoh

Coretan kod di bawah direka bentuk untuk menunjukkan perbezaan antara nilai bagi pembolehubah yang sama berkenaan dengan skop setempat dan skop global.

<?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";
?>

Output

Othervar ialah set rujukan untuk inputvar daripada tatasusunan GLOBAL. Ia tidak terikat kepada pembolehubah inputvar yang ditakrifkan dalam skop tempatan fungsi.

Rujukan PHP

2. Menggunakan $ini Pembolehubah

Pembolehubah '$this' ialah rujukan lalai kepada objek untuk fungsi, yang mana, $ini dirujuk.

Contoh

Kod di bawah menunjukkan penggunaan $this variable untuk mengakses nilai mana-mana sifat kelas daripada objek kelas yang dipilih.

<?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
?>

Output

Nilai clsproperty dipaparkan berdasarkan nilai yang ditetapkan dengan menggunakan $this variable.

Rujukan PHP

3. Melepasi Objek

Dalam pengaturcaraan PHP, sebarang operasi yang dilakukan pada objek kelas seperti serahkan, pulangkan atau lulus, dsb; operasi sentiasa dijalankan dengan merujuk kepada objek dan bukannya salinannya.

Sintaks standard untuk membuat rujukan objek PHP diikuti seperti di bawah:

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

Di sini objek classObj2 merujuk kepada kandungan yang sama yang terkandung dalam classObj1.

Contoh

Coretan kod di bawah direka bentuk untuk mencipta objek rujukan untuk objek sebenar dan mengakses sifatnya.

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

Output

Objek rujukan Costume2 merujuk kepada nilai yang sama seperti yang terdapat dalam nama sifat dan warna objek sebenar Costume1.

Rujukan PHP

Operasi Berbeza Pengaturcaraan PHP

Dalam pengaturcaraan PHP operasi yang berbeza dijalankan dengan rujukan PHP. Beberapa operasi utama dibincangkan dalam sesi di bawah:

1. Melewati Rujukan

Untuk membolehkan fungsi mengubah suai pembolehubah yang ditakrifkan di luar skopnya, nilai perlu dihantar ke fungsi melalui rujukannya.

Contoh

Coretan kod di bawah menukar nilai pembolehubah yang ditakrifkan daripada skop fungsi yang dipanggil menggunakan rujukan kepada pembolehubah.

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

Output

Nilai pembolehubah outvar diubah oleh fungsi AFunction().

Rujukan PHP

2. Memulangkan Rujukan

Operasi ini membolehkan fungsi panggilan untuk mengetahui pembolehubah yang rujukannya akan diikat. Adalah disyorkan untuk menggunakan hanya jika terdapat sebarang keperluan teknikal, jika tidak, ia tidak menambah prestasi program.

Contoh

Coretan kod di bawah direka untuk menghantar nilai pulangan daripada fungsi induk fungsi sebagai rujukan kepada kelas induk kelas yang ditentukan.

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

Output

Rujukan PHP

3. Menyahtetapkan Rujukan PHP

Pengguna boleh memutuskan pengikatan antara pembolehubah dan rujukan menggunakan kaedah unset().

Contoh

Coretan kod di bawah menunjukkan penggunaan kaedah unset() untuk menyahikat input pertama pembolehubah yang dirujuk daripada input kedua.

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

Output

Rujukan PHP

Kesimpulan

Rujukan PHP ialah ciri penting yang digabungkan dalam skrip PHP. Rujukan PHP bukan penunjuk kerana ia boleh diterangkan untuk 'C' yang juga menduduki memori untuk mencipta elemen pendua. Sebaliknya rujukan PHP hanyalah alias berbeza untuk merujuk kandungan daripada pembolehubah sebenar. Jika salinan objek diperlukan untuk objek dalam PHP, ia boleh dilakukan dengan kata kunci ‘klon’.

Atas ialah kandungan terperinci Rujukan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP gettype()Artikel seterusnya:PHP gettype()