Heim >Backend-Entwicklung >PHP-Problem >Was sind die PHP-Zugriffsberechtigungsmodifikatoren?
Es gibt drei Arten von PHP-Zugriffsberechtigungsmodifikatoren: 1. öffentlich, was bedeutet, dass sie gemeinsam genutzt werden, mit dem größten Umfang an Berechtigungen und auf die überall zugegriffen werden kann; 2. geschützt, was bedeutet, dass sie geschützt, geerbt und nur von ihnen verwendet werden können Auf die Klasse selbst und interne Mitglieder der Klasse kann zugegriffen werden. 3. Privat bedeutet privat und kann nur innerhalb der geschweiften Klammern der Klassendefinition aufgerufen werden.
Die Betriebsumgebung dieses Artikels: Windows 10-System, PHP-Version 8.1, Dell G3-Computer
protected protected, inherited
public:
Public-Typen können innerhalb der Klasse und in Unterklassen verwendet werden oder außerhalb der Klasse, uneingeschränkt
Eigenschaften: extern aufrufbar, intern aufrufbar, von Unterklassen aufrufbarIn der Unterklasse können Sie öffentliche Methoden oder Eigenschaften über self::var aufrufen, parent::method ruft die Methode der übergeordneten Klasse aufin der Instanz Es ist möglich aufzurufen Methoden oder Eigenschaften öffentlicher Typen über $obj->vargeschützt:
Geschützte Typen können innerhalb der Klasse und Unterklassen verwendet werden, können jedoch nicht außerhalb der Klasse verwendet werden
Merkmale: Es kann nicht extern aufgerufen werden, aber Es kann intern von Unterklassen aufgerufen werdenIn Unterklassen können geschützte Methoden oder Eigenschaften über self::var aufgerufen werden, und parent::method kann übergeordnete Klassenmethoden aufrufenIn einigen Fällen kann $obj-> nicht mit ;var verwendet werden Aufrufmethoden oder Eigenschaften geschützter Typenprivate:
Private Typen können nur innerhalb der Klasse verwendet werden und können nicht außerhalb der Klasse oder in Unterklassen verwendet werden.
Eigenschaften: Nicht extern aufrufbar, intern aufrufbar, nicht durch Unterklassen aufrufbarAttribute oder Methoden dieses Typs können nur in dieser Klasse verwendet werden und können nicht in Instanzen dieser Klasse, Unterklassen oder Instanzen von Eigenschaften privater Unterklassen aufgerufen werden und MethodenBeispiele sind wie folgt:Wenn beim Erstellen einer Methode keine Angabe gemacht wird, ist die Standardeinstellung öffentlich<?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(); ?>Empfohlenes Lernen: „
PHP-Video-Tutorial
“Das obige ist der detaillierte Inhalt vonWas sind die PHP-Zugriffsberechtigungsmodifikatoren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!