Protégé en PHP

PHPz
Libérer: 2024-08-29 13:08:26
original
898 Les gens l'ont consulté

Les mots-clés sont essentiellement un ensemble de mots spéciaux réservés dans chaque langage de programmation dans un but spécifique. Il peut s'agir de commandes ou de paramètres et ils ne peuvent pas être utilisés pour un usage courant comme les noms de variables. Les protégés en PHP sont prédéfinis dans tous les langages dont PHP et également appelés noms réservés.

PUBLICITÉ Cours populaire dans cette catégorie DEVELOPPEUR PHP - Spécialisation | Série de 8 cours | 3 tests simulés

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Il existe 5 types de modificateurs d'accès en PHP :

  • Public
  • Privé
  • Protégé
  • Résumé
  • Finale

Nous nous concentrerons uniquement sur les modificateurs d'accès protégés dans cet article. Outre les variables, les mots-clés protégés sont également utilisés pour déclarer les méthodes/fonctions et propriétés comme protégées. Sauf indication explicite, toutes les variables et méthodes seront publiques par défaut. La variable protégée diminue la visibilité de la variable ou de la méthode respective car son accès est restreint à la classe dans laquelle elle est déclarée. Les modificateurs d'accès protégés ne peuvent pas être appliqués aux classes.

Cependant, ils peuvent être appelés par une sous-classe héritée de sa classe parent. On peut donc déclarer la méthode souhaitée ou une variable comme protégée en la préfixant d'un mot-clé « protected ».

Syntaxe

 = value; //declaration of protected property protected $proc = 'protected property'; //declaration of protected function protected function function_name(){ //PHP code goes here } ?>
Copier après la connexion

Ici, nous pouvons voir qu'en utilisant le mot-clé protected, nous déclarons à la fois les noms de variables et de fonctions.

Fonctionnement des modificateurs protégés en PHP : comme le modificateur d'accès privé, nous pouvons également utiliser protégé pour restreindre l'utilisation et l'accès aux fonctions et variables de classe en dehors de la classe. Mais une exception aux variables protégées contre les variables privées est qu'elles sont accessibles via l'héritage de sa classe parent dans une sous-classe.

Exemples de variables et de méthodes protégées

Comprenons en détail l'utilisation et le fonctionnement du modificateur protégé en prenant un exemple simple ci-dessous :

Exemple n°1

Code :

a/$this->b; echo "\n"; } protected function multiply() { echo $mul=$this->a*$this->b; echo "\n"; } } // Declaration of child class addn inherited from above class class addn extends Math { // Declaration of addition function function addition() { echo $division=$this->a+$this->b; } } $obj= new addn; $obj->division(); $obj->addition(); $obj->multiply(); ?>
Copier après la connexion

Sortie :

Protégé en PHP

Après avoir commenté la ligne 29 qui tente d'appeler la méthode protégée

Protégé en PHP

Dans l'exemple ci-dessus, nous présentons les différentes opérations mathématiques comme l'addition, la division et la multiplication. Tout d’abord, nous déclarons la fonction division() sans aucun modificateur d’accès. Par conséquent, par défaut, il est public et la valeur de division que nous effectuons sur les deux variables a et b est affichée dans la sortie lorsque nous appelons la fonction en créant son objet. Mais lorsque nous essayons d'appeler la fonction protégée multiplier(), nous obtenons l'erreur en ligne 34 indiquant que la méthode protégée ne peut pas être appelée.

Alors que nous pouvons appeler et obtenir la valeur d'une méthode protégée via l'héritage comme indiqué. Ici, la classe enfant est héritée de la classe parent Math et nous pouvons donc appeler les variables protégées a et b sans aucune erreur.

Exemple n°2

Code :

getDescription($this->animal); } } // Creating an object of class Animal $animal = new Animal(); // Creating an object of subclass Dog $dog = new Dog(); /* Trying to access protected variables and methods */ echo $animal->animal; // Cannot be accessed $animal->getDescription("Dog"); // Cannot be accessed echo $dog->animal; // Cannot be accessed /* We can call getDogDescription method, in which we are calling a protected method of Animal class */ $dog->getDogDescription(); ?>
Copier après la connexion

Sortie :

Protégé en PHP

Après avoir commenté la ligne 34

Protégé en PHP

Après avoir commenté les lignes 35 et 36

Protégé en PHP

Dans cet exemple, nous déclarons d'abord la classe parent principale Animal et initialisons une variable protégée comme $animal qui est un tableau contenant les noms de 3 animaux différents. Ensuite, nous déclarons également une fonction protégée dans laquelle nous donnons une description unique à chacun des animaux du tableau.

Étant donné que les variables protégées sont accessibles à l'aide de la sous-classe, nous créons ici une autre sous-classe Dog à partir de la classe parent Animal. Également pour montrer que les fonctions publiques sont accessibles n'importe où, nous déclarons une fonction publique pour afficher la description de la variable chien.

Ensuite, nous créons un objet des deux classes Animal et Dog et essayons d'accéder à leurs variables qui sont protégées. Ainsi pour les lignes 40, 41 et 42, nous obtenons une erreur fatale indiquant que les propriétés/méthodes/variables protégées ne sont pas accessibles. Par conséquent, nous ne pouvons accéder à aucune variable en dehors de la classe Animal puisque toutes sont protégées.

Importance de protégé en PHP

  • Le modificateur protégé réduit fondamentalement la visibilité de la variable/méthode et est donc plus sécurisé que le modificateur d'accès public auquel on peut accéder n'importe où.
  • Seules les sous-classes peuvent accéder aux méthodes protégées et non par n'importe quelle classe.
  • L'utilité de la classe est rendue très claire lorsque nous la rendons protégée. Ceci est vraiment utile lorsqu'il y a un tas de données et que nous devons mettre une marque précise sur celle-ci.
  • Les variables et membres protégés sont publics dans la classe dans laquelle ils sont déclarés et c'est également la classe enfant qui hérite de cette propriété de la classe parent.
  • Il fournit une sécurité de deuxième niveau, un de moins que le privé qui est le plus sécurisé et à côté des modificateurs publics qui ne sont pas si sécurisés.
  • Cela aide le développeur à décrire les membres partageables et ceux non partageables et aide à les confiner dans les murs de la classe.

Conclusion

Par conséquent, les variables protégées sont les modificateurs d'accès qui sont utilisés pour contrôler des variables, des méthodes ou des propriétés spécifiquement définies dans une classe. Il doit être explicitement spécifié par préfixe et n'est donc accessible que dans son package déclaré et par une sous-classe qui hérite du package parent.

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
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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!