Maison >développement back-end >Problème PHP >Quels sont les modificateurs d'autorisation d'accès PHP ?
Il existe trois types de modificateurs d'autorisation d'accès PHP : 1. public, ce qui signifie partagé, avec la plus grande étendue d'autorisations et accessible n'importe où ; 2. protégé, ce qui signifie protégé, hérité et ne peut être utilisé que par le la classe elle-même et les membres internes de la classe sont accessibles ; 3. Private signifie privé et n'est accessible qu'entre les accolades de la définition de la classe.
L'environnement d'exploitation de cet article : système Windows 10, PHP version 8.1, ordinateur Dell G3
Il en existe trois types :
public Partagé
protected protégé, hérité
private private
Introduction détaillée :
public :
Les types publics peuvent être utilisés à l'intérieur de la classe, dans les sous-classes ou à l'extérieur de la classe. classe, sans restriction
Caractéristiques : appelable en externe, appelable en interne, appelable en sous-classe
Dans la sous-classe, vous pouvez appeler des méthodes ou des propriétés publiques via self::var, parent::method appelle la méthode de la classe parent
dans l'instance Il est possible d'appeler méthodes ou propriétés des types publics via $obj->var
protected :
Les types protégés peuvent être utilisés à l'intérieur de la classe et des sous-classes, mais ne peuvent pas être utilisés en dehors de la classe
Caractéristiques : ils ne peuvent pas être appelés en externe, mais il peut être appelé en interne par les sous-classes
Dans les sous-classes, les méthodes ou propriétés protégées peuvent être appelées via self::var, et parent::method peut appeler les méthodes de la classe parent
Dans les instances, $obj-> ne peut pas être utilisé ;var pour appeler des méthodes ou des propriétés de types protégés
private :
Les types privés ne peuvent être utilisés qu'à l'intérieur de la classe et ne peuvent pas être utilisés en dehors de la classe ou dans des sous-classes.
Caractéristiques : non appelable en externe, appelable en interne, non appelable par les sous-classes
Les attributs ou méthodes de ce type ne peuvent être utilisés que dans cette classe et ne peuvent pas être appelés dans les instances de cette classe, les sous-classes ou les instances de sous-classes Propriétés de type privé et méthodes
Les exemples sont les suivants :
Lors de la création d'une méthode, si elle n'est pas spécifiée, la valeur par défaut est public
<?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(); ?>
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!