Aller au contenu

protégé

Le mot-clé "protected" en PHP : Guide complet

Le mot-clé "protected" est utilisé en PHP pour déclarer un membre de classe comme protégé, ce qui signifie qu'il ne peut être accédé que depuis la classe elle-même et ses sous-classes. Dans cet article, nous explorerons en profondeur la syntaxe et l'utilisation du mot-clé "protected", et fournirons de nombreux exemples pour vous aider à maîtriser cette fonctionnalité PHP essentielle.

Syntaxe

Le mot-clé "protected" est utilisé pour déclarer un membre de classe comme protégé en PHP. Voici la syntaxe de base pour utiliser ce mot-clé :

Syntaxe PHP de protected

php
class MyClass {
  protected $myProtectedVariable;
  protected function myProtectedFunction() {
    // Code block here
  }
}

Dans cet exemple, nous utilisons le mot-clé "protected" pour déclarer une variable protégée et une fonction protégée au sein d'une classe.

Exemples

Voyons quelques exemples pratiques de l'utilisation du mot-clé "protected" :

Exemples de protected

php
<?php

// Example 1
class Animal
{
  protected $name;

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

  protected function getName()
  {
    return $this->name;
  }
}

class Dog extends Animal
{
  public function bark()
  {
    $name = $this->getName();
    echo "$name barks!" . PHP_EOL;
  }
}

$dog = new Dog("Rufus");
$dog->bark(); // Output: Rufus barks!

// Example 2
class BankAccount
{
  protected $balance = 0;

  public function deposit($amount)
  {
    $this->balance += $amount;
  }

  protected function canWithdraw($amount)
  {
    return $amount <= $this->balance;
  }
}

class SavingsAccount extends BankAccount
{
  public function withdraw($amount)
  {
    if ($this->canWithdraw($amount)) {
      $this->balance -= $amount;
      echo "Withdrawal successful!" . PHP_EOL;
    } else {
      echo "Insufficient funds!" . PHP_EOL;
    }
  }
}

$savingsAccount = new SavingsAccount();
$savingsAccount->deposit(100);
$savingsAccount->withdraw(50); // Output: Withdrawal successful!
$savingsAccount->withdraw(100); // Output: Insufficient funds!

Dans ces exemples, nous utilisons le mot-clé "protected" pour déclarer des variables et des fonctions protégées au sein de classes, qui ne peuvent être accédées que depuis la classe elle-même et ses sous-classes.

Avantages

L'utilisation du mot-clé "protected" présente plusieurs avantages, notamment :

  • Encapsulation : En utilisant le mot-clé "protected" pour déclarer les membres de classe comme protégés, vous pouvez encapsuler les données et les fonctionnalités au sein d'une classe et de ses sous-classes, ce qui améliore la maintenabilité et la modularité de votre code.
  • Héritage : Le mot-clé "protected" permet aux sous-classes d'accéder et de modifier les membres de la classe, tout en empêchant le code externe de le faire.

Conclusion

En conclusion, le mot-clé "protected" est un outil essentiel pour les développeurs PHP souhaitant créer des classes avec des données et des fonctionnalités encapsulées, pouvant être héritées par les sous-classes. Il vous permet de déclarer les membres de classe comme protégés, ce qui signifie qu'ils ne sont accessibles que depuis la classe elle-même et ses sous-classes, et améliore la maintenabilité et la modularité de votre code. Nous espérons que ce guide complet vous a été utile et vous souhaitons bonne chance dans la poursuite de votre apprentissage de PHP.

Pratique

En PHP, lesquels des éléments suivants peuvent accéder aux propriétés et méthodes protégées ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.