349 of 410 menu

A __set mágikus metódus

A __set mágikus metódus automatikusan meghívódik, amikor egy nem létező vagy a jelenlegi kontextusban nem elérhető tulajdonságnak próbálnak értéket adni. A metódus két paramétert fogad: a tulajdonság nevét és a hozzárendelni kívánt értéket.

Szintaxis

public function __set(string $name, mixed $value): void

Példa

Hozzunk létre egy osztályt, amely a __set metódust használja a nem létező tulajdonságok beállítási kísérleteinek elfogására:

<?php class User { private $data = []; public function __set($name, $value) { $this->data[$name] = $value; } public function getData() { return $this->data; } } $user = new User(); $user->email = 'test@example.com'; $user->age = 25; print_r($user->getData()); ?>

A kód végrehajtásának eredménye:

Array ( [email] => test@example.com [age] => 25 )

Példa

A __set használata adatok validálására a beállításuk előtt:

<?php class Product { private $price; public function __set($name, $value) { if ($name === 'price') { if (!is_numeric($value) || $value < 0) { throw new Exception('Érvénytelen ár érték'); } $this->price = $value; } } public function getPrice() { return $this->price; } } $product = new Product(); $product->price = 100; echo $product->getPrice(); ?>

A kód végrehajtásának eredménye:

100

Lásd még

  • a __get mágikus metódus,
    amely az elérhetetlen tulajdonságok olvasási kísérleteit fogja el
  • a __isset mágikus metódus,
    amely a tulajdonságok létezésének ellenőrzését fogja el
Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás