__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" 
}