__set_state
Цей статичний метод викликається для тих класів, які експортуються функцією var_export () починаючи з PHP 5.1.0.
Параметр цього методу повинен містити масив, що складається з експортованих властивостей у вигляді array ('property' => value, ...).
Приклад Використання __set_state (починаючи з PHP 5.1.0)
<? Php
class A
{
public $var1;
public $var2;
public static function __set_state ($an_array) / / З PHP 5.1.0
{
$obj = new A;
$obj-> var1 = $ an_array ['var1'];
$obj-> var2 = $ an_array ['var2'];
return $obj;
}
}
$a = new A;
$a-> var1 = 5;
$a-> var2 = 'foo';
eval ('$b ='. var_export ($a, true).';');
// $ b = A:: __set_state (array (
// 'var1' => 5,
// 'var2' => 'foo',
//));
var_dump ($ b);
?>
Результат виконання цього прикладу:
object (A) # 2 (2) {
["Var1"] =>
int (5)
["Var2"] =>
string (3) "foo"
}