Avant de présenter les éléments clés, passons d'abord en revue le contrôle d'accès orienté objet PHP.
Le contrôle d'accès aux propriétés ou aux méthodes est réalisé en ajoutant les mots-clés public, protected ou private devant. Les membres de la classe définis comme publics sont accessibles de n’importe où. Un membre de classe défini comme protégé est accessible par lui-même, ses sous-classes et sa classe parent. Les membres de classe définis comme privés ne sont accessibles que par la classe dans laquelle ils sont définis.
Les attributs de classe doivent être définis comme étant publics, protégés ou privés. S'il est défini avec var, il est considéré comme public.
Veuillez consulter l'exemple de code suivant (extrait du document officiel http://php.net/manual/en/lang... :
<?php /** * Define MyClass */ class MyClass { public $public = 'Public'; protected $protected = 'Protected'; private $private = 'Private'; function printHello() { echo $this->public; echo $this->protected; echo $this->private; } } $obj = new MyClass(); echo $obj->public; // Works echo $obj->protected; // Fatal Error echo $obj->private; // Fatal Error $obj->printHello(); // Shows Public, Protected and Private
Comme indiqué dans le code ci-dessus, nous utilisons une classe Lorsqu'un objet instance accède à une propriété membre privée ou protégée d'une classe, une erreur fatale sera générée
Voici ce que fait le titre de l'article, accédant aux propriétés privées de l'objet instance php >Selon. Selon notre pratique habituelle, nous écrivons généralement une méthode publique et renvoyons cet attribut
public function getPrivate() { return $this->private; }
<?php class A { private $a = 'self'; public function test() { $other = new self(); $other->a = 'other'; var_dump($other->a); } } $aa = new A(); $aa->test();
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!