PHP expert |
|
Om even een voorbeeld te geven van __sleep en __wakeup:
<?php
class Test {
public function __construct($var, $foo, $bar) {
list($this->tvar, $this->foo, $this->bar) = array($var, $foo, $bar);
}
function __sleep() {
// deze vars zullen mee geserializeerd worden
return array('tvar', 'foo');
}
function __wakeup() {
$this->bar = "blaat";
}
public function run() {
echo $this->tvar . $this->foo . $this->bar;
}
private $tvar;
private $foo;
private $bar;
}
$test = new Test('blaat', 'blaat2', 'blaat3');
$test = serialize($test); // __sleep wordt aangeroepen
$test = unserialize($test); // __wakeup wordt aangeroepen
$test->run(); // normaal gezien 'blaatblaat2blaat'
?>
<?php class Test { public function __construct($var, $foo, $bar) { list($this->tvar, $this->foo, $this->bar) = array($var, $foo, $bar); } function __sleep() { // deze vars zullen mee geserializeerd worden return array('tvar', 'foo'); } function __wakeup() { $this->bar = "blaat"; } public function run() { echo $this->tvar . $this->foo . $this->bar; } private $tvar; private $foo; private $bar; } $test = new Test('blaat', 'blaat2', 'blaat3'); $test = serialize($test); // __sleep wordt aangeroepen $test = unserialize($test); // __wakeup wordt aangeroepen $test->run(); // normaal gezien 'blaatblaat2blaat' ?>
|