⊗ppOpMgStNEP 92 of 107 menu

Lecture d'une propriété inexistante en POO en PHP

Essayons d'écrire des données dans une propriété inexistante - cela fonctionnera :

<?php $test = new Test; $test->prop3 = 3; // écrivons 3 echo $test->prop3; // affichera 3 ?>

Supposons que nous ne voulons pas autoriser l'écriture dans les propriétés inexistantes. Et, en général, nous voulons autoriser l'écriture seulement dans les propriétés prop1 et prop2.

C'est facile à faire - il suffit d'ajouter la condition correspondante dans la méthode __set :

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { // Écrivons une condition : if ($property == 'prop1' or $property == 'prop2') { $this->$property = $value; } } public function __get($property) { return $this->$property; } } ?>

S'il y a beaucoup de telles propriétés, ce n'est pas très pratique de toutes les énumérer dans la condition.

Mettons les propriétés autorisées pour l'écriture dans un tableau et vérifions la présence de la propriété dans ce tableau à l'aide de la fonction in_array :

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { $properties = ['prop1', 'prop2']; // propriétés autorisées if (in_array($property, $properties)) { $this->$property = $value; } } public function __get($property) { return $this->$property; } } ?>
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser