Versio

__set()

__set() is bijna hetzelfde verhaal, maar dan anders. __set($key, $value) heeft twee argumenten, een naam van de variabele en de waarde die deze moet krijgen. Ik denk dat een voorbeeld de rest wel verteld.
[voorbeeld 2]

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
//we breiden ons vorige voorbeeld even uit
class Voorbeeld2 extends Voorbeeld {
   public function __construct()
   {

      //roep Voorbeeld::__construct() aan.
      parent::__construct();  
   }

  
   public function __set($key, $value)
   {

      echo "debug: variabele '$key' wordt overschreven met waarde '$value'\n";
      
      // is de variabele al eens eerder geset?
      if(isset($this->waarden[$key])) {
         $this->waarden[$key] .= $value; //voeg dan de waarde toe
      } else {
         $this->waarden[$key] = $value; //maak een entry in de array
      }
   }
}


$object = new Voorbeeld2();
echo $object->nieuweWaarde; //geeft 'bestaat niet!';

$object->nieuweWaarde = 'Hello';
echo $object->nieuweWaarde; //geeft 'Hello';

$object->nieuweWaarde = ' World';
echo $object->nieuweWaarde; //geeft 'Hello World';
?>

« Lees de omschrijving en reacties

Inhoudsopgave
  1. Het verschil
  2. __get()
  3. __set()
  4. __isset() & __unset()
  5. __call()
  6. Dingen om rekening mee te houden
  7. Mogelijke toepassing
  • Gesponsorde koppelingen