Position actuelle: Accueil> Derniers articles> Début avec la programmation orientée objet PHP: comment protéger les propriétés et les méthodes d'un objet utilisant des modificateurs d'accès

Début avec la programmation orientée objet PHP: comment protéger les propriétés et les méthodes d'un objet utilisant des modificateurs d'accès

M66 2025-06-05

Bases de la programmation orientée objet PHP: Explication détaillée des modificateurs d'accès

Dans le développement de PHP, la programmation orientée objet (POO) est un paradigme de programmation grand public. Il organise le code à travers la structure des "classes" et des "objets", ce qui rend la structure du programme plus claire, plus facile à développer et à maintenir. Dans le développement réel, il est crucial de contrôler raisonnablement les droits d'accès des propriétés et des méthodes dans une classe, ce qui nécessite l'utilisation de modificateurs d'accès.

Cet article expliquera en détail les trois modificateurs d'accès dans PHP: public (public), privé (privé) et protégé (protégé), et vous aider à maîtriser leur utilisation par des exemples.

Qu'est-ce qu'un modificateur d'accès?

Les modificateurs d'accès sont utilisés pour contrôler le niveau d'accès des propriétés et des méthodes dans la classe, évitant ainsi les interférences du code externe aux implémentations internes et l'encapsulation du programme. PHP prend en charge les trois modificateurs suivants:

  • Public : accès public, accessible n'importe où.

  • Privé : accès privé, uniquement pour une utilisation interne de la classe.

  • Protégé : accès protégé, uniquement pour les sous-classes internes de la classe.

1. Modificateur d'accès public

Le public est le modificateur d'accès le plus courant, ce qui signifie que les propriétés ou les méthodes d'une classe sont ouvertes à l'extérieur et sont accessibles ou appelées n'importe où.

 class Person {
  public $name;

  public function sayHello() {
    echo "Hello, my name is " . $this->name;
  }
}

$person = new Person();
$person->name = "John";
$person->sayHello();  // Sortir:Hello, my name is John

Dans cet exemple, $ Name et Sayhello () sont publics. Les affectations et les appels externes peuvent être directement attribués aux valeurs et appelés, ce qui est très intuitif, mais il peut facilement entraîner la modification des attributs à volonté, affectant la stabilité du programme.

2. Modificateur d'accès privé

Les propriétés et méthodes modifiées par privé ne peuvent être accessibles qu'à l'intérieur de la classe qui les définit et ne sont pas accessibles directement à l'extérieur. Cette méthode améliore l'encapsulation et est un moyen courant de protéger les implémentations internes de la classe.

 class Person {
  private $name;

  public function setName($name) {
    $this->name = $name;
  }

  public function sayHello() {
    echo "Hello, my name is " . $this->name;
  }
}

$person = new Person();
$person->setName("John");
$person->sayHello();  // Sortir:Hello, my name is John

En fournissant la méthode publique SetName () , l'extérieur peut toujours définir le nom de $ indirectement, mais la propriété ne peut pas être accessible directement, protégeant efficacement l'intégrité des données.

3. Modificateur d'accès protégé

Protégé est entre privé et public , qui permet aux classes héréditaires d'accéder à la propriété ou à la méthode, mais est toujours inaccessible à l'extérieur.

 class Person {
  protected $name;

  public function setName($name) {
    $this->name = $name;
  }

  public function sayHello() {
    echo "Hello, my name is " . $this->name;
  }
}

class Student extends Person {
  public function study() {
    echo $this->name . " is studying.";
  }
}

$student = new Student();
$student->setName("John");
$student->sayHello();  // Sortir:Hello, my name is John
$student->study();     // Sortir:John is studying.

Dans le code ci-dessus, l'étudiant hérite de la personne , afin que vous puissiez accéder directement à la propriété Name Protected. Le modificateur protégé est adapté à une utilisation dans les structures d'héritage de classe, à maintenir l'encapsulation et à avoir une certaine flexibilité.

Résumer

En utilisant le modificateur d'accès rationnellement, la portée d'accès des propriétés et méthodes de l'objet peut être contrôlée efficacement, améliorant ainsi la sécurité et la maintenabilité du programme. En développement réel:

  • Il est recommandé de définir l'attribut à privé ou protégé ;

  • Manipuler les attributs par le biais de méthodes publiques pour améliorer la sécurité des données;

  • Choisissez d'utiliser protégé en fonction de la relation d'héritage;

  • Évitez les modifications incontrôlables causées par l'exposition aux propriétés.

La maîtrise de ces principes de base vous aidera à écrire un code orienté objet plus robuste et plus maintenable.