Quelle est la différence entre public, privé et protégé en PHP

Quelle Est La Difference Entre Public Prive Et Protege En Php



PHP est largement utilisé pour développer des sites Web dynamiques et des applications Web. PHP fournit des mots-clés appelés modificateurs d'accès . Les propriétés du modificateur d'accès sont utilisées pour accéder aux propriétés de la variable, de la classe ou de la classe de trois manières différentes, telles que public , privé, et protégé . Dans cet article, nous discuterons de ces modificateurs d'accès et déterminerons la différence entre ces trois modificateurs d'accès dans le langage de programmation PHP.

Que sont les modificateurs d'accès en PHP ?

En PHP, les modificateurs d'accès sont essentiels car ils donnent aux utilisateurs la possibilité de réguler la visibilité ainsi que l'accessibilité des attributs de classe et des méthodes. En conséquence, il fournit l'encapsulation et la sécurité des données, et par conséquent, les membres de la classe sont protégés contre tout accès ou modification non autorisé. En outre, cela facilite la maintenance du code et le débogage.







Types de modificateurs d'accès

Les trois modificateurs d'accès qui existent en PHP sont décrits ci-dessous :



  • Public: Vous pouvez accéder à une méthode publique depuis l'extérieur de la classe. Cela implique que n'importe quel code peut accéder, modifier et invoquer une méthode publique.
  • Privé: L'accès à la méthode privée est limité à la classe elle-même. Cela implique qu'aucun des autres codes, même s'il s'agit d'une classe enfant, n'est autorisé à accéder à une méthode privée ou à lire la valeur privée.
  • Protégé: Une méthode protégée n'est accessible qu'à l'intérieur d'une classe et des classes qui lui sont liées ; il ne peut pas être utilisé en dehors de ces classes. Tout code source qui a besoin d'accéder à l'instance de classe peut lire ou modifier les données d'une propriété protégée ou invoquer une fonction protégée.

Différence entre les modificateurs d'accès public, privé et protégé en PHP

Propriété Public Privé Protégé
Accessibilité Ces modificateurs d'accès peuvent être accessibles n'importe où, comme à l'intérieur et à l'extérieur du code. Les spécificateurs d'accès privés ne sont accessibles qu'au sein de la classe. Il peut être accessible à l'intérieur de la classe et de ses classes et méthodes associées (enfants).
La flexibilité La plus grande flexibilité est offerte par les ressources publiques car elles sont accessibles de n'importe où. Comme elles sont exclusivement accessibles au sein de la classe, ces méthodes offrent le moins de flexibilité. La méthode protégée offre une flexibilité modérée car les classes enfants peuvent accéder à ces méthodes.
Encapsulation D'autres codes peuvent accéder ou encapsuler des méthodes publiques, mais le programmeur a le contrôle sur cela. Une méthode privée est encapsulée à l'intérieur de la classe, ce qui rend impossible pour le code extérieur d'y accéder ou de les mettre à jour. Son processus d'encapsulation est le même que la méthode publique en PHP.
Sécurité Les méthodes publiques sont accessibles de n'importe où. Ainsi, ils offrent un faible niveau de sécurité dans le code. Le niveau de sécurité maximal est fourni par les modificateurs d'accès privés car ils sont totalement contenus dans la classe. Puisqu'ils ne sont accessibles qu'aux membres de la classe et de ses sous-classes, les modificateurs d'accès protégés offrent un niveau de sécurité raisonnable.

Voyons la différence entre ces spécificateurs d'accès en utilisant un exemple de programme simple en PHP.



Exemple : programme PHP avec modificateurs d'accès privé, public et protégé





L'exemple suivant illustre la différence entre public, privé et protégé dans un exemple de code :

< ?php
classe MaClasse {
public $public = 'Variable publique. \n ' ; // Accessible de n'importe où
privé $ privé = 'Variable privée. \n ' ; // Accessible uniquement à partir de la classe
protégé $protégé = « Variable protégée ». ; // Peut être consulté dans la classe et toutes les sous-classes

public fonction getPrivate ( ) {
retour $ceci - > privé;
}

public fonction getProtected ( ) {
retour $ceci - > protégé;
}
}
$obj = nouveau MaClasse ( ) ;

écho $obj - > public;
écho $obj - > getPrivate ( ) ;
écho $obj - > getProtected ( ) ;
? >



Dans le programme ci-dessus, nous avons défini une classe comme Ma classe avec une propriété publique comme $public qui pourrait accéder n'importe où dans le code, une propriété privée comme $ privé , et une propriété protégée appelée $protégé , nous ne pouvons donc pas accéder aux spécificateurs privés et protégés directement depuis l'extérieur de la classe. Comme nous avons utilisé deux méthodes publiques appelées getPrivate() et getProtected() qui renvoient les valeurs des variables de propriétés privées et protégées, respectivement, et la sortie est donnée ci-dessous :

Conclusion

PHP offre de nombreuses fonctionnalités et l'une d'elles est les mots-clés appelés modificateurs d'accès. Ces modificateurs d'accès fournissent différents modèles d'accès aux données des classes dans le programme PHP. Dans le tutoriel ci-dessus, nous avons vu la différence entre les modificateurs d'accès en termes d'accessibilité, d'encapsulation, de flexibilité et de sécurité proposés en PHP.