takagi Fri Mar 10 03:45:55 2006 UTC
Modified files:
/phpdoc/en/reference/var/functions var-export.xml
Log:
Added the another example to show how to use __set_state() (bug #36674)
http://cvs.php.net/viewcvs.cgi/phpdoc/en/reference/var/functions/var-export.xml?r1=1.12&r2=1.13&diff_format=u
Index: phpdoc/en/reference/var/functions/var-export.xml
diff -u phpdoc/en/reference/var/functions/var-export.xml:1.12
phpdoc/en/reference/var/functions/var-export.xml:1.13
--- phpdoc/en/reference/var/functions/var-export.xml:1.12 Tue Mar 7
01:12:15 2006
+++ phpdoc/en/reference/var/functions/var-export.xml Fri Mar 10 03:45:54 2006
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.12 $ -->
+<!-- $Revision: 1.13 $ -->
<!-- splitted from ./en/functions/var.xml, last change in rev 1.6 -->
<refentry id="function.var-export">
<refnamediv>
@@ -152,6 +152,51 @@
</screen>
</example>
</para>
+ <para>
+ <example>
+ <title>Using <link
linkend="language.oop5.magic.set-state">__set_state</link> (since PHP
5.1.0)</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+class A
+{
+ public $var1;
+ public $var2;
+
+ public static function __set_state($an_array)
+ {
+ $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);
+?>
+]]>
+ </programlisting>
+ &example.outputs;
+ <screen>
+<![CDATA[
+object(A)#2 (2) {
+ ["var1"]=>
+ int(5)
+ ["var2"]=>
+ string(3) "foo"
+}
+]]>
+ </screen>
+ </example>
+ </para>
</refsect1>
<refsect1 role="notes">