Peribadi dalam PHP

WBOY
Lepaskan: 2024-08-29 13:08:07
asal
781 orang telah melayarinya

Kata kunci ialah perkataan yang digunakan sebagai simpanan dalam program yang mempunyai makna khas yang diberikan kepada mereka. Mereka boleh menjadi arahan atau parameter. Seperti setiap bahasa pengaturcaraan lain, PHP juga mempunyai satu set perkataan khas yang dipanggil kata kunci yang tidak boleh digunakan sebagai nama pembolehubah untuk tujuan lain. Mereka juga dipanggil sebagai nama simpanan.

IKLAN Kursus Popular dalam kategori ini PEMBANGUN PHP - Pengkhususan | 8 Siri Kursus | 3 Ujian Olok-olok

Mulakan Kursus Pembangunan Perisian Percuma Anda

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

Kata kunci peribadi, seperti namanya ialah kata kunci yang hanya boleh diakses dari dalam kelas yang ditakrifkan. Semua kata kunci adalah secara lalai di bawah kategori awam melainkan ia dinyatakan sebagai peribadi atau dilindungi. Kata kunci peribadi membantu dalam tujuan keselamatan dengan memberikan keterlihatan paling sedikit kepada kata kunci dalam keseluruhan kod. Ia juga lebih mudah untuk dibiaskan apabila hanya terdapat satu kelas yang memanggil kata kunci ini.

Selain kata kunci peribadi, terdapat juga kaedah peribadi. Dalam pengaturcaraan berorientasikan objek, kaedah ialah set prosedur yang dikaitkan dengan mana-mana kelas. Dalam kes kaedah persendirian, kaedah tersebut dibenarkan untuk dipanggil hanya dalam kaedah yang dimiliki oleh kelas yang sama atau modulnya.

Terdapat juga pemalar peribadi dan sifat yang boleh diisytiharkan. Keterlihatan dalam kes ini hanya terhad antara kelas mereka dan bukan kejadian. Jika kedua-dua objek adalah daripada jenis yang sama maka satu objek boleh memanggil kaedah peribadi objek lain.

Sintaks:

Sebarang pembolehubah, sifat atau kaedah boleh diisytiharkan peribadi dengan memberi awalan dengan kata kunci “peribadi”.

class MyClass()
{
private variable_name;
private Method_name();
private $priv = 'Private property';
}
Salin selepas log masuk

Contoh Harta Persendirian

Mari kita memahami cara kerja harta persendirian dalam PHP dengan mengambil contoh di bawah:

Kod:

<?php
/**
* Definition of PHPExample
*/
class PHPExample
{
public $public = 'Public property';
protected $protected = 'Protected property';
private $private = 'Private property';
function displayValue()
{
echo $this->public;
echo "\n";
echo $this->protected;
echo "\n";
echo $this->private;
echo "\n";
}
}
$val = new PHPExample();
echo $val->public; // Public will work without any error
echo "\n";
echo $val->protected; // Uncaught Error: Cannot access protected property PHPExample::$protected in /workspace/Main.php:21
echo $val->private; // Uncaught Error: Cannot access private property PHPExample::$private in /workspace/Main.php:22
$val->displayValue(); // Displays all 3 Public, Protected and Private properties
/**
* Definition of PHPExample2
*/
class PHPExample2 extends PHPExample
{
// It supports redeclaration of public and protected properties and not private
public $public = 'Public2 property';
protected $protected = 'Protected2 property';
function displayValue()
{
echo $this->public;
echo "\n";
echo $this->protected;
echo "\n";
echo $this->private; //Undefined property: PHPExample2::$private in /workspace/Main.php on line 39
}
}
$val2 = new PHPExample2();
echo $val2->public; // Public will work without error
echo "\n";
echo $val2->protected; // Fatal Error
echo $val2->private; // Undefined property: PHPExample2::$private in /workspace/Main.php on line 46
$val2->displayValue(); // Shows Public2, Protected2, Undefined
?>
Salin selepas log masuk

Output 1:

Peribadi dalam PHP

Output 2: Selepas mengulas pada baris 23.

Peribadi dalam PHP

Output 3: Selepas mengulas pada baris 24.

Peribadi dalam PHP

Output 4: Selepas mengulas pada baris 46, 47 dan 40.

Peribadi dalam PHP

Penjelasan kepada kod di atas: Apabila anda menjalankan kod ini sepenuhnya, anda pasti akan mendapat ralat maut pada beberapa nombor baris seperti baris:25,26,45,52,53. Kami mula-mula mengisytiharkan semua 3 hartanah awam, peribadi dan dilindungi dalam kelas utama PHPExample untuk memaparkan perkataan masing-masing. Sebaris 25, kami cuba mengakses kesemua 3 sifat daripada kelas PHPExample. Memandangkan contoh peribadi dan dilindungi tidak boleh diakses di luar kelasnya, kami mendapat ralat maut dalam output seperti yang ditunjukkan dan hanya harta awam dipaparkan.

Dalam separuh kedua kod, kami mengisytiharkan kelas PHPExample2 yang lain di mana kami mengisytiharkan semula nilai paparan untuk harta yang dilindungi dan awam. Perkara yang sama tidak dibenarkan untuk persendirian dan kemudian kami melakukan aksi yang sama seperti pada separuh masa pertama. Memandangkan kami cuba memanggil harta persendirian yang tidak diisytiharkan di sini, kami mendapat ralat harta yang tidak ditentukan.

Contoh Kaedah dan Kata Kunci Peribadi

Mari kita memahami cara kerja kaedah peribadi dan kata kunci dalam PHP dengan mengambil contoh di bawah:

Kod:

<?php
class NameExample {
// Declaring first name as private value
private $first_name;
// Declaring last name as private value
private $last_name;
public $public = 'Displaying from public method';
private $private ='Displaying from private method';
// private function for setting the value for first_name
private function fName($first_name) {
$this->$first_name = $first_name;
echo $this -> private;
}
// public function for setting the value for last_name
public function lName($last_name) {
$this->$last_name = $last_name;
echo $this -> public;
}
// public function to display full name value
public function dispName() {
echo "My name is: " . $this->$first_name . " " . $this->$last_name;
}
}
// Creating a new object named $arun of the class
$arun = new NameExample();
// trying to access private class variables
$arun->$first_name = "Arun"; // invalid
$arun->$last_name = "Sharma"; // invalid
// calling the public function to set $first_name and $last_name
$john->fName("John");
$arun->lName("Wick");
// $arun-> dispName();
?>
Salin selepas log masuk

Output 1:

Peribadi dalam PHP

Output 2: Selepas mengulas baris 32, 33 dan 36.

Peribadi dalam PHP

Penjelasan kepada kod di atas: Dalam contoh di atas, $first_name dan $last_name diisytiharkan sebagai pembolehubah persendirian kelas NameExample dan oleh itu ia tidak boleh dipanggil terus menggunakan objek kelas. Oleh itu, apabila kita mula-mula cuba menjalankan kod, kita mendapat ralat sebagai "Undefined variable: first_name in /workspace/NameExample.php on line 32" dan perkara yang sama berlaku untuk baris 33. Apabila kita mengulas pada 2 baris ini dan menjalankan kod itu semula kami mendapat ralat "Ralat Tidak Ditangkap: Panggil ke nama fungsi ahli() pada null dalam /ruang kerja/NameExample.php:36".

Ini kerana kami telah mengisytiharkan fungsi fName sebagai peribadi dan ia cuba mengaksesnya. Kod berjalan lancar apabila baris 36 turut diulas dan dipaparkan daripada nama kaedah kerana ia adalah kaedah awam.

Kelebihan Menggunakan Private dalam PHP

Di bawah adalah Kelebihan Menggunakan Private dalam PHP:

  1. Pembolehubah peribadi masih boleh diakses dengan menggunakan "pengambil" dan "penetap" yang memberikan pengekod lebih kawalan ke atas mengakses data.
  2. Inturn persendirian bermaksud enkapsulasi yang juga memisahkan pembolehubah dari satu kelas ke kelas yang lain dengan itu melindungi perubahan yang dibuat pada kelas secara dalaman.
  3. Tingkah laku pembolehubah persendirian dihadkan dalam kelas tertentu itu dan juga mengelakkan kekeliruan.
  4. Pembolehubah peribadi boleh dilaksanakan semula dengan mudah tanpa risiko memecahkan kod di mana-mana sahaja.

Peraturan dan Peraturan untuk Peribadi dalam PHP

Berikut ialah Peraturan dan Peraturan yang perlu dipatuhi untuk Peribadi dalam PHP:

  1. Bagi mana-mana ahli boleh ubah atau kaedah, seseorang mesti sentiasa mengisytiharkan skopnya sama ada ia milik awam, dilindungi atau persendirian.
  2. Dalam susunan kaedah seseorang harus mengikut tertib berikut: awam,> dilindungi > peribadi
  3. Pembolehubah peribadi tidak boleh diakses daripada subkelas yang diisytiharkan dengan memanjangkannya daripada kelas utama di mana ia diisytiharkan. Walau bagaimanapun, ia boleh diakses jika harta persendirian yang sama diisytiharkan semula dalam subkelas tetapi tidak dinasihatkan untuk berbuat demikian.
  4. Oleh itu kaedah persendirian yang diisytiharkan dalam kelas boleh dipanggil hanya di dalam kelas itu.

Kesimpulan

Persendirian ialah cara menyekat kebolehcapaian pembolehubah, kaedah atau sifat sesuatu kelas. Mereka hanya boleh diakses dalam kelas yang diisytiharkan dan bukan dari mana-mana subkelas yang menjangkau daripadanya. Mana-mana harta yang dilindungi daripada kelas induk boleh ditindih oleh subkelas dan didedahkan kepada umum tetapi tidak boleh dijadikan sebagai peribadi.

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

Label berkaitan:
php
sumber:php
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!