Rumah >pembangunan bahagian belakang >masalah PHP >Apakah kebenaran akses untuk kaedah kelas dalam php
Terdapat tiga jenis kebenaran akses untuk kaedah kelas dalam PHP: 1. Jenis awam (awam), yang boleh digunakan di dalam kelas, dalam subkelas atau di luar kelas tanpa sekatan 2. Jenis yang dilindungi ( protected ); 3. Jenis persendirian (private) hanya boleh digunakan di dalam kelas dan tidak boleh digunakan di luar kelas atau dalam subkelas.
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3
Ahli Kaedah kelas
Fungsi yang ditakrifkan dalam kelas dipanggil kaedah ahli. Satu-satunya perbezaan antara fungsi dan kaedah ahli ialah fungsi melaksanakan fungsi bebas, manakala kaedah ahli melaksanakan tingkah laku dalam kelas dan merupakan sebahagian daripada kelas.
Anda boleh mengisytiharkan berbilang kaedah ahli dalam kelas Pengisytiharan kaedah ahli adalah sama dengan pengisytiharan fungsi Walau bagaimanapun, apabila mengisytiharkan kaedah ahli, anda boleh menambah beberapa pengubah akses di hadapan kata kunci fungsi untuk mengawal Keizinan, seperti awam, peribadi, dilindungi, dsb.
Kebenaran akses kaedah
Terdapat tiga kebenaran akses:
awam: jenis awam, Boleh digunakan di dalam kelas, dalam subkelas atau di luar kelas, tanpa sekatan
Ciri: boleh panggil secara luaran, boleh panggil dalaman, boleh panggil subkelas
dalam subkelas Anda boleh memanggil kaedah atau sifat awam melalui diri: :var, dan parent::method memanggil kaedah kelas induk
Dalam keadaan, anda boleh memanggil kaedah atau sifat awam
melalui $obj->varprotected: protected type , boleh digunakan di dalam kelas dan dalam subkelas, tetapi tidak boleh digunakan di luar kelas
Ciri: tidak boleh dipanggil secara luaran, subkelas boleh dipanggil secara dalaman Anda boleh memanggil
dalam subkelas untuk memanggil kaedah atau atribut yang dilindungi melalui self::var, parent::method untuk memanggil kaedah kelas induk
tetapi tidak melalui $obj->var dalam contoh Memanggil kaedah atau sifat jenis dilindungi
peribadi: jenis peribadi, hanya boleh digunakan di dalam kelas, bukan di luar kelas atau dalam subkelas.
Ciri: Tidak boleh dipanggil secara luaran, boleh dipanggil secara dalaman, tidak boleh dipanggil oleh subkelas
Atribut atau kaedah jenis ini hanya boleh digunakan dalam kelas ini, dalam keadaan dan subkelas kelas ini, Jenis peribadi atribut dan kaedah tidak boleh dipanggil dalam contoh subkelas
Nota:
Apabila mencipta kaedah, jika ia tidak dinyatakan, ia akan lalai kepada awam.
<?php class EMBA_student // 声明EMBA学生类 { //用private来定义私有类的属性 private $no; //序号 private $name; // 姓名 private $gender; //性别 private $age; //年龄 //方法 //方法1 ,私有方法,输出年龄 private function show_age() { echo"我的年龄是:$this->age<br />"; } //方法2,公有方法,回答年龄 public function ask_age() { $this->show_age(); } //方法3,设置数据 function set_data($arr){ $this->no=$arr["no"]; $this->name=$arr["name"]; $this->gender=$arr["gender"]; $this->age=$arr["age"]; } } //实例化一个对象 $s=new EMBA_student; $arr=array("no"=>"1","name"=>"Qian Zhang","gender"=>"Female","age"=>"33","department"=>"商业营销"); $s->set_data($arr); //echo $s->age;//Fatal error: Cannot access private property EMBA_student::$age in C:\xampp\htdocs\v\v.php on line 47 //$s->show_age(); //Fatal error: Call to private method EMBA_student::show_age() from context '' in C:\xampp\htdocs\v\v.php on line 48 $s->ask_age(); ?>
Hasil:
我的年龄是:33
Tambahan: Perbezaan antara diri dan ibu bapa
a). objek. Perbezaan utama mereka ialah diri boleh memanggil harta awam atau dilindungi dalam kelas induk, tetapi ibu bapa tidak boleh memanggil
b).self:: Ia mewakili ahli statik (kaedah dan sifat) kelas semasa $ ini berbeza, $ini merujuk kepada objek semasa
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apakah kebenaran akses untuk kaedah kelas dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!