Versio

__isset() & __unset()

Ik neem aan dat dit gedeelte wel redelijk voor zichzelf spreekt. __isset() is als het ware een 'wrapper' voor isset() en __unset() voor unset().
[voorbeeld 3]

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
class Voorbeeld3 extends Voorbeeld2 {
   public function __construct()
   {

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

  
   public function __isset($key) {
      echo "debug: kijken of '$key' wel geset is\n";
      return isset($this->waarden[$key]);
   }

  
   public function __unset($key) {
      echo "debug: vernietigen van '$key'\n";
      unset($this->waarden[$key]);
   }
}


$object = new Voorbeeld3();
echo isset($object->iets) ? 'is geset' : 'is niet geset';
//geeft 'is geset', immers in Voorbeeld::__construct()

$object->iets = ' anders';
echo $object->iets;
//geeft 'iets anders', immers door Voorbeeld2::__set() is ' anders' toegevoegd.

unset($object->iets);
echo $object->iets;
//geeft 'bestaat niet!'
?>

« 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