Les mots clés sont les mots utilisés en réserve dans un programme auquel une signification particulière leur est attribuée. Il peut s'agir d'une commande ou d'un paramètre. Comme tout autre langage de programmation, PHP possède également un ensemble de mots spéciaux appelés mots-clés qui ne peuvent pas être utilisés comme noms de variables à d’autres fins. Ils sont é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ésCommencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
Un mot-clé privé, comme son nom l'indique, est celui qui n'est accessible qu'à partir de la classe dans laquelle il est défini. Tous les mots-clés sont par défaut dans la catégorie publique sauf s'ils sont spécifiés comme privés ou protégés. Les mots-clés privés contribuent à des fins de sécurité en donnant le moins de visibilité au mot-clé dans l'ensemble du code. Il est également plus facile de réfracter lorsqu'il n'y a qu'une seule classe appelant ce mot-clé.
Outre les mots-clés privés, il peut également y avoir des méthodes privées. En programmation orientée objet, les méthodes sont l'ensemble des procédures associées à n'importe quelle classe. Dans le cas de méthodes privées, elles ne peuvent être appelées qu'au sein de méthodes appartenant à la même classe ou à son module.
Il existe également des constantes et des propriétés privées qui peuvent être déclarées. Dans ces cas, la visibilité est limitée uniquement entre leurs classes et non entre les instances. Si les deux objets sont du même type, alors un objet peut appeler la méthode privée d’un autre objet.
Syntaxe :
Toute variable, propriété ou méthode peut être déclarée privée en la préfixant d'un mot-clé « privé ».
class MyClass() { private variable_name; private Method_name(); private $priv = 'Private property'; }
Comprenons le fonctionnement de la propriété privée en PHP en prenant l'exemple ci-dessous :
Code :
<?php /** * Definition of PHPExample */ class PHPExample { public $public = 'Public property'; protected $protected = 'Protected property'; private $private = 'Private property'; function displayValue() { echo $this->public; echo "\n"; echo $this->protected; echo "\n"; echo $this->private; echo "\n"; } } $val = new PHPExample(); echo $val->public; // Public will work without any error echo "\n"; echo $val->protected; // Uncaught Error: Cannot access protected property PHPExample::$protected in /workspace/Main.php:21 echo $val->private; // Uncaught Error: Cannot access private property PHPExample::$private in /workspace/Main.php:22 $val->displayValue(); // Displays all 3 Public, Protected and Private properties /** * Definition of PHPExample2 */ class PHPExample2 extends PHPExample { // It supports redeclaration of public and protected properties and not private public $public = 'Public2 property'; protected $protected = 'Protected2 property'; function displayValue() { echo $this->public; echo "\n"; echo $this->protected; echo "\n"; echo $this->private; //Undefined property: PHPExample2::$private in /workspace/Main.php on line 39 } } $val2 = new PHPExample2(); echo $val2->public; // Public will work without error echo "\n"; echo $val2->protected; // Fatal Error echo $val2->private; // Undefined property: PHPExample2::$private in /workspace/Main.php on line 46 $val2->displayValue(); // Shows Public2, Protected2, Undefined ?>
Sortie 1 :
Sortie 2 : Après avoir commenté la ligne 23.
Sortie 3 : Après avoir commenté la ligne 24.
Sortie 4 : Après avoir commenté les lignes 46, 47 et 40.
Explication du code ci-dessus : Lorsque vous exécutez entièrement ce code, vous obtiendrez forcément des erreurs fatales sur quelques numéros de ligne comme la ligne :25,26,45,52,53. Nous déclarons d'abord les 3 propriétés publiques, privées et protégées dans la classe principale PHPExample pour afficher leurs mots respectifs. Inline 25, nous essayons d'accéder aux 3 propriétés de la classe PHPExample. Étant donné que les exemples privés et protégés ne peuvent pas être accessibles en dehors de leur classe, nous obtenons une erreur fatale dans la sortie comme indiqué et seule la propriété publique est affichée.
Dans la seconde moitié du code, nous déclarons une autre classe PHPExample2 où nous déclarons à nouveau les valeurs d'affichage des propriétés protégées et publiques. La même chose n'est pas autorisée en privé et nous effectuons ensuite la même action qu'en première mi-temps. Puisque nous essayons d'appeler une propriété privée qui n'est pas déclarée ici, nous obtenons une erreur de propriété non définie.
Comprenons le fonctionnement de la méthode privée et des mots-clés en PHP en prenant l'exemple ci-dessous :
Code :
<?php class NameExample { // Declaring first name as private value private $first_name; // Declaring last name as private value private $last_name; public $public = 'Displaying from public method'; private $private ='Displaying from private method'; // private function for setting the value for first_name private function fName($first_name) { $this->$first_name = $first_name; echo $this -> private; } // public function for setting the value for last_name public function lName($last_name) { $this->$last_name = $last_name; echo $this -> public; } // public function to display full name value public function dispName() { echo "My name is: " . $this->$first_name . " " . $this->$last_name; } } // Creating a new object named $arun of the class $arun = new NameExample(); // trying to access private class variables $arun->$first_name = "Arun"; // invalid $arun->$last_name = "Sharma"; // invalid // calling the public function to set $first_name and $last_name $john->fName("John"); $arun->lName("Wick"); // $arun-> dispName(); ?>
Sortie 1 :
Sortie 2 :Après avoir commenté les lignes 32, 33 et 36.
Explication du code ci-dessus : Dans l'exemple ci-dessus, $first_name et $last_name sont déclarés comme variables privées de la classe NameExample et ne peuvent donc pas être directement appelés à l'aide d'un objet de classe. Par conséquent, lorsque nous essayons d'exécuter le code pour la première fois, nous obtenons une erreur du type « Variable non définie : prénom dans /workspace/NameExample.php à la ligne 32 » et il en va de même pour la ligne 33. Lorsque nous commentons ces 2 lignes et exécutons à nouveau le code. nous obtenons l'erreur « Erreur non détectée : appel à un nom de fonction membre () sur null dans /workspace/NameExample.php:36 ».
C'est parce que nous avons déclaré la fonction fName comme privée et qu'elle essaie d'y accéder. Le code fonctionne correctement lorsque la ligne 36 est également commentée et s'affiche à partir du nom de la méthode puisqu'il s'agit d'une méthode publique.
Vous trouverez ci-dessous les avantages de l'utilisation de Private en PHP :
Voici les règles et règlements à suivre pour le privé en PHP :
Private est un moyen de restreindre l'accessibilité des variables, méthodes ou propriétés d'une classe. Ils ne sont accessibles que dans la classe dans laquelle ils sont déclarés et non à partir d'une sous-classe qui en dérive. Toute propriété protégée d'une classe parent peut être remplacée par une sous-classe et rendue publique, mais ne peut pas être rendue privée.
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!