⊗ppOpMgStNEP 92 of 107 menu

Nepastāvošās īpašības lasīšana OOP PHP

Mēģināsim ierakstīt datus nepastāvošā īpašībā - tas darbosies:

<?php $test = new Test; $test->prop3 = 3; // ierakstīs 3 echo $test->prop3; // izvadīs 3 ?>

Pieņemsim, ka mēs negribam atļaut rakstīt nepastāvošajās īpašībās. Un vispār, gribam atļaut ierakstīšanu tikai īpašībās prop1 un prop2.

To ir viegli izdarīt - pietiek metodē __set pievienot atbilstošu nosacījumu:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { // Uzrakstīsim nosacījumu: if ($property == 'prop1' or $property == 'prop2') { $this->$property = $value; } } public function __get($property) { return $this->$property; } } ?>

Ja šādu īpašību būs daudz, tad nav īpaši ērti uzskaitīt tās visas nosacījumā.

Ierakstīsim atļautās ierakstīšanai īpašības massīvā un pārbaudīsim īpašības esamību šajā massīvā ar funkcijas in_array palīdzību:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { $properties = ['prop1', 'prop2']; // atļautās īpašības if (in_array($property, $properties)) { $this->$property = $value; } } public function __get($property) { return $this->$property; } } ?>
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt