PHP中 __set_state()方法详解
作用:
自 PHP 5.1.0 起,当调用 var_export() 导出类时,此静态方法会被自动调用。
参数:
本方法的唯一参数是一个数组,其中包含按 array('property' => value, ...) 格式排列的类属性。
下面我们先来看看在没有加 __set_state() 情况按下,代码及运行结果如何:
上代码:
<?php class Person { public $sex; public $name; public $age; public function __construct($name="", $age=25, $sex='男') { $this->name = $name; $this->age = $age; $this->sex = $sex; } } $person = new Person('小明'); // 初始赋值 var_export($person);
看结果:
Person::__set_state(array( 'sex' => '男', 'name' => '小明', 'age' => 25, ))
很明显,将对象中的属性都打印出来了
加了 __set_state() 之后:
继续上代码:
<?php class Person { public $sex; public $name; public $age; public function __construct($name="", $age=25, $sex='男') { $this->name = $name; $this->age = $age; $this->sex = $sex; } public static function __set_state($an_array) { $a = new Person(); $a->name = $an_array['name']; return $a; } } $person = new Person('小明'); // 初始赋值 $person->name = '小红'; var_export($person);
继续看结果:
Person::__set_state(array( 'sex' => '男', 'name' => '小红', 'age' => 25, ))
以上就是PHP中 __set_state()方法详解的详细内容,更多请关注jquery中文网其它相关文章!
您可能感兴趣的文章:
PHP中 __set_state()方法详解
php常用的魔术函数详细解析
php以__开头的方法是什么
PHP之十六个魔术方法详解(总结)
PHP的魔术方法与魔术常量
PHP中魔术方法的使用举例
PHP魔术常量、魔术函数、预定义常量详细介绍及实例讲解
php面相对象的魔术方法使用总结
php 魔术方法有哪些,作用是什么?
php面相对象的魔术方法中文说明与例子