Maison  >  Article  >  développement back-end  >  Privé en PHP

Privé en PHP

WBOY
WBOYoriginal
2024-08-29 13:08:07784parcourir

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és

Commencez 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';
}

Exemple de propriété privée

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 :

Privé en PHP

Sortie 2 : Après avoir commenté la ligne 23.

Privé en PHP

Sortie 3 : Après avoir commenté la ligne 24.

Privé en PHP

Sortie 4 : Après avoir commenté les lignes 46, 47 et 40.

Privé en PHP

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.

Exemple de méthode privée et de mot-clé

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 :

Privé en PHP

Sortie 2 :Après avoir commenté les lignes 32, 33 et 36.

Privé en PHP

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.

Avantages de l'utilisation de Private en PHP

Vous trouverez ci-dessous les avantages de l'utilisation de Private en PHP :

  1. Les variables privées sont toujours accessibles grâce à l'utilisation de « getters » et de « setters », ce qui donne au codeur plus de contrôle sur l'accès aux données.
  2. Inturn privé signifie encapsulation qui sépare également les variables d'une classe à une autre et protège ainsi les modifications apportées à la classe en interne.
  3. Le comportement des variables privées est restreint à l'intérieur de cette classe particulière et évite également toute confusion.
  4. Les variables privées peuvent facilement être réimplémentées sans risquer de casser le code n'importe où.

Règles et règlements pour le privé en PHP

Voici les règles et règlements à suivre pour le privé en PHP :

  1. Pour tout membre variable ou méthode, il faut toujours déclarer sa portée selon qu'elle appartient à public, protected ou private.
  2. Dans l'ordre des méthodes, il faut suivre l'ordre suivant : public,> protégé > privé
  3. Les variables privées ne sont pas accessibles depuis la sous-classe déclarée en les étendant depuis la classe principale dans laquelle elles sont déclarées. Cependant, il est accessible si la même propriété privée est à nouveau déclarée dans la sous-classe mais il n'est pas conseillé de le faire.
  4. Par conséquent, une méthode privée déclarée dans une classe ne peut être appelée qu'à l'intérieur de cette classe.

Conclusion

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!

Déclaration:
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
Article précédent:Fonction publique en PHPArticle suivant:Fonction publique en PHP