Maison  >  Article  >  développement back-end  >  Quels sont les caractères de contrôle d’accès de php ?

Quels sont les caractères de contrôle d’accès de php ?

青灯夜游
青灯夜游original
2021-07-15 16:11:102312parcourir

Les symboles de contrôle d'accès de PHP sont : 1. public, définissez la propriété ou la méthode pour qu'elle soit accessible de n'importe où ; 2. private, définissez la propriété ou la méthode pour qu'elle soit accessible uniquement par sa propre classe ou objet 3. protected, créez une propriété ; ou méthode accessible par sa classe ou ses descendants.

Quels sont les caractères de contrôle d’accès de php ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3

Liste des modificateurs de contrôle d'accès

访问修饰符 含义
Public 将属性或方法设置为可从任何地方访问
Private 将属性或方法设置为只能由其自己的类或对象访问
Protected 将属性或方法设置为可由其类或其后代访问

public

Les propriétés et méthodes publiques sont accessibles de n'importe où.

<?PHP
class Book {
        public $Name;
        public function say() {
                print "PHP!\n";
        }
}
class PythonBook extends Book {
        public function say() {
                print "Python!\n";
        }
}
$aBook = new PythonBook;
$aBook->Name = "Python";
print $aBook->Name;
?>

Par défaut, toutes les méthodes de classe sont publiques.

Le code ci-dessus génère les résultats suivants.

Quels sont les caractères de contrôle d’accès de php ?

private

Les propriétés privées ne sont accessibles qu'au sein de leur propre classe.

<?PHP
class Book {
        private $Name;
        private $NameTag;
        public function setName($NewName) {
                // etc
        }
}
?>

Les méthodes et propriétés parentales privées ne sont pas accessibles aux sous-classes. Si vous souhaitez faire cela, vous avez besoin du mot-clé protégé.

Protected

Les propriétés et méthodes protégées sont accessibles au sein de leur propre classe et sous-classes. Considérez le code suivant :

<?PHP
class Book {
        public $Name;
        protected function getName() {
                return $this->Name;
        }
}
class Poodle extends Book {
        public function say() {
                print ""Book", says " . $this->getName();
        }
}
$aBook = new Poodle;
$aBook->Name = "PHP";
$aBook->say();
?>

Le code ci-dessus génère les résultats suivants.

Quels sont les caractères de contrôle d’accès de php ?

Exemple

Le code ci-dessous montre comment masquer des informations à l'aide de membres privés.

<?php
  class Widget
  {
    private $name;
    private $price;
    private $id;
    public function __construct($name, $price)
    {
      $this->name = $name;
      $this->price = floatval($price);
      $this->id = uniqid();
    }
    //checks if two widgets are the same
    public function equals($widget)
    {
      return(($this->name == $widget->name) AND
       ($this->price == $widget->price));
    }
  }
  $w1 = new Widget("Cog", 5.00);
  $w2 = new Widget("Cog", 5.00);
  $w3 = new Widget("Gear", 7.00);
  //TRUE
  if($w1->equals($w2))
  {
    print("w1 and w2 are the same<br>\n");
  }
  //FALSE
  if($w1->equals($w3))
  {
    print("w1 and w3 are the same<br>\n");
  }
  //FALSE, == includes id in comparison
  if($w1 == $w2)
  {
    print("w1 and w2 are the same<br>\n");
  }
?>

Le code ci-dessus génère les résultats suivants.

Quels sont les caractères de contrôle d’accès de php ?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn