Maison > développement back-end > Problème PHP > 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 ?

青灯夜游
Libérer: 2023-03-11 15:40:02
original
2431 Les gens l'ont consulté

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;
?>
Copier après la connexion

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 daccè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
        }
}
?>
Copier après la connexion

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();
?>
Copier après la connexion

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

Quels sont les caractères de contrôle daccè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");
  }
?>
Copier après la connexion

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

Quels sont les caractères de contrôle daccè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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal