Dans la programmation orientée objet PHP, les autorisations d'accès d'une fonction déterminent quel code peut appeler la fonction. En définissant les modificateurs de droits d'accès, les développeurs peuvent contrôler de manière flexible la visibilité et l'accès à l'accès des fonctions, améliorant ainsi la sécurité et l'encapsulation du code.
Les fonctions modifiées avec le public sont visibles à tout le code et peuvent être appelées n'importe où, y compris en dehors de la classe.
public function publicFunction() {
// Code de fonction
}
La fonction modifiée protégée ne peut être accessible que par la classe et ses sous-classes qui définissent la fonction et ne peuvent pas être appelées directement en dehors de la classe.
protected function protectedFunction() {
// Code de fonction
}
Les fonctions modifiées par privé ne peuvent être accessibles que par la classe qui définit la fonction elle-même et ne sont pas accessibles aux sous-classes et en dehors de la classe.
private function privateFunction() {
// Code de fonction
}
L'exemple suivant montre la situation d'accès des fonctions avec des autorisations d'accès différentes dans les classes parentales et enfants:
class ParentClass {
public function publicFunction() {
echo "Public function in parent class";
}
protected function protectedFunction() {
echo "Protected function in parent class";
}
private function privateFunction() {
echo "Private function in parent class";
}
}
class ChildClass extends ParentClass {
public function accessFunctions() {
$this->publicFunction();
$this->protectedFunction();
// L'appel suivant provoquera une erreur,parce queprivateFunctionC'est privé
// $this->privateFunction();
}
}
$child = new ChildClass();
$child->publicFunction();
$child->protectedFunction(); // L'appel ici rapportera une erreur,protectedLes fonctions ne sont pas accessibles directement en dehors de la classe
Dans cet exemple, ParentClass définit les fonctions avec différentes autorisations d'accès. La classe d'enfants pour enfants est en mesure d'accéder aux fonctions publiques et protégées dans la classe parent, mais pas des fonctions privées. Il convient de noter que les fonctions protégées ne peuvent pas être appelées directement en dehors de la classe.
L'utilisation rationnelle des modificateurs de droits d'accès est une partie importante de la conception orientée objet PHP. En spécifiant correctement le niveau d'accès de la fonction, les détails de l'implémentation interne de la classe peuvent être efficacement protégés et les interfaces nécessaires sont fournies au monde extérieur, réalisant ainsi l'encapsulation et la réutilisation du code.