⊗ppOpMgStNEP 92 of 107 menu

Lettura di una proprietà inesistente in OOP in PHP

Proviamo a scrivere dati in una proprietà inesistente - funzionerà:

<?php $test = new Test; $test->prop3 = 3; // scriviamo 3 echo $test->prop3; // visualizzerà 3 ?>

Supponiamo di non voler permettere la scrittura in proprietà inesistenti. E, in generale, vogliamo permettre la scrittura solo nelle proprietà prop1 e prop2.

È facile da fare - basta aggiungere la condizione corrispondente nel metodo __set:

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

Se ci sono molte proprietà di questo tipo, non è molto conveniente elencarle tutte nella condizione.

Inseriamo le proprietà consentite per la scrittura in un array e controlleremo la presenza della proprietà in questo array utilizzando la funzione in_array:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { $properties = ['prop1', 'prop2']; // proprietà consentite if (in_array($property, $properties)) { $this->$property = $value; } } public function __get($property) { return $this->$property; } } ?>
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta