__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

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.