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 yang paling banyak digunakan untuk membuat rujukan PHP dibincangkan seperti di bawah:
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.
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.
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.
Dalam pengaturcaraan PHP operasi yang berbeza dijalankan dengan rujukan PHP. Beberapa operasi utama dibincangkan dalam sesi di bawah:
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().
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
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 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!