Heim > Backend-Entwicklung > PHP-Problem > Was sind die PHP-Zugriffsberechtigungsmodifikatoren?

Was sind die PHP-Zugriffsberechtigungsmodifikatoren?

WBOY
Freigeben: 2023-03-16 13:52:02
Original
2898 Leute haben es durchsucht

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.

Was sind die PHP-Zugriffsberechtigungsmodifikatoren?

Die Betriebsumgebung dieses Artikels: Windows 10-System, PHP-Version 8.1, Dell G3-Computer

Welche Arten von PHP-Zugriffsberechtigungsmodifikatoren gibt es?


public Shared
  • protected protected, inherited
  • private private
  • Detaillierte Einführung:

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 aufrufbar

In der Unterklasse können Sie öffentliche Methoden oder Eigenschaften über self::var aufrufen, parent::method ruft die Methode der übergeordneten Klasse auf

in der Instanz Es ist möglich aufzurufen Methoden oder Eigenschaften öffentlicher Typen über $obj->var

geschü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 werden

In Unterklassen können geschützte Methoden oder Eigenschaften über self::var aufgerufen werden, und parent::method kann übergeordnete Klassenmethoden aufrufen

In einigen Fällen kann $obj-> nicht mit ;var verwendet werden Aufrufmethoden oder Eigenschaften geschützter Typen

private:

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 aufrufbar

Attribute 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 Methoden

Beispiele 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 &#39;&#39; in C:\xampp\htdocs\v\v.php on line 48
 $s->ask_age();
  ?>
Nach dem Login kopieren

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!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage