Position actuelle: Accueil> Derniers articles> Explication détaillée des modificateurs d'autorisation PHP : Maîtriser l'utilisation de public, protected, private et final

Explication détaillée des modificateurs d'autorisation PHP : Maîtriser l'utilisation de public, protected, private et final

M66 2025-10-13

Présentation du contrôle des autorisations PHP

Dans le développement d’applications Web, le contrôle des autorisations est un élément important pour garantir la sécurité. PHP fournit une variété de modificateurs d'autorisation pour contrôler l'accès aux classes, propriétés et méthodes. Cet article analysera en détail les fonctions de ces modificateurs et montrera comment les appliquer avec un exemple de code.

modificateur public

Public est le modificateur le plus basique de PHP, indiquant que les classes, propriétés et méthodes sont accessibles de n'importe où. Les membres déclarés publics peuvent être directement appelés par du code extérieur à la classe. Par exemple:

 class Car {
    public $color; // publicpropriété
    public function drive() { // publicméthode
        echo "Driving";
    }
}

Dans le code ci-dessus, la propriété $color et la méthode drive() de la classe Car sont toutes deux publiques, elles sont donc accessibles par n'importe quel objet :

 $myCar = new Car();
$myCar->color = "red"; // accéderpublicpropriété
$myCar->drive(); // appelpublicméthode

modificateur protégé

Le modificateur protected indique que la propriété ou la méthode n'est accessible qu'au sein de la classe elle-même et de ses sous-classes. Il ne peut pas être appelé directement depuis l’extérieur de la classe. Par exemple:

 class Car {
    protected $color; // protectedpropriété
    protected function drive() { // protectedméthode
        echo "Driving";
    }
}

Les sous-classes peuvent accéder aux membres protégés de la classe parent :

 class SportsCar extends Car {
    public function set_color($color) {
        $this->color = $color; // accéderprotectedpropriété
    }
}

$sportsCar = new SportsCar();
$sportsCar->set_color("blue"); // appelpublicméthode

modificateur privé

Private est le modificateur d'accès le plus strict, autorisant l'accès uniquement au sein de la classe. Les membres privés ne sont pas accessibles ou appelés en dehors de la classe. Par exemple:

 class Car {
    private $mileage; // privatepropriété
    private function update_mileage() { // privateméthode
        $this->mileage++;
    }
}

L'accès aux membres privés en dehors de la classe entraîne une erreur :

 $myCar = new Car();
$myCar->mileage = 1000; // erreur
$myCar->update_mileage(); // erreur

modificateur final

Le modificateur final peut être utilisé sur les classes et les méthodes pour indiquer qu'elles ne peuvent pas être héritées ou remplacées. Utilisé pour garantir qu’une classe ou une méthode n’est pas modifiée. Par exemple:

 class Car {
    final public function drive() { // finalméthode
        echo "Driving";
    }
}

class SportsCar extends Car {
    public function drive() { // Signalera une erreur
        echo "Driving fast";
    }
}

L'utilisation de final peut garantir que les méthodes ou classes importantes restent inchangées, améliorant ainsi la stabilité et la sécurité du code.

Résumer

Cet article présente les modificateurs d'autorisation couramment utilisés dans PHP et leurs applications :

  • public : permet l'accès et les appels de n'importe où
  • protected : seules la classe et ses sous-classes sont autorisées à accéder et à appeler
  • privé : autoriser uniquement l'accès et les appels au sein de la classe
  • final : empêche les membres d'être modifiés par les sous-classes

La maîtrise de l'utilisation de ces modificateurs peut aider à obtenir un bon contrôle des autorisations et une bonne conception de la structure du code, ainsi qu'à améliorer la sécurité et la maintenabilité des applications.