Skip to content

Instantly share code, notes, and snippets.

@gorkamu
Created December 25, 2016 11:47
Show Gist options
  • Save gorkamu/93005c2f3e58345fd222f46667d4f414 to your computer and use it in GitHub Desktop.
Save gorkamu/93005c2f3e58345fd222f46667d4f414 to your computer and use it in GitHub Desktop.
Ejemplo de método mágico __set_state()
<?php
class A
{
public $var1;
public $var2;
public static function __set_state($an_array) // A partir de 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);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment