349 of 410 menu

Die magiese metode __set

Die magiese metode __set word outomaties uitgeroep wanneer daar gepoog word om waarde toe te ken aan 'n eienskap wat nie bestaan of nie in die huidige konteks toeganklik is nie. Die metode aanvaar twee parameters: die naam van die eienskap en die waarde wat probeer word om toe te ken.

Sintaksis

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

Voorbeeld

Kom ons skep 'n klas wat __set sal gebruik om pogings om nie-bestaande eienskappe in te stel, te onderskep:

<?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()); ?>

Resultaat van die kode-uitvoering:

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

Voorbeeld

Gebruik van __set om data te valideer voordat dit ingestel word:

<?php class Product { private $price; public function __set($name, $value) { if ($name === 'price') { if (!is_numeric($value) || $value < 0) { throw new Exception('Ongeldige prys-waarde'); } $this->price = $value; } } public function getPrice() { return $this->price; } } $product = new Product(); $product->price = 100; echo $product->getPrice(); ?>

Resultaat van die kode-uitvoering:

100

Sien ook

  • die magiese metode __get,
    wat pogings om ontoeganklike eienskappe te lees, onderskep
  • die magiese metode __isset,
    wat die kontrole vir die bestaan van eienskappe onderskep
Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp