PHP中 __set_state()方法的作用?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
创新互联2013年至今,是专业互联网技术服务公司,拥有项目网站设计制作、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元博野做网站,已为上家服务,为博野各地企业和个人服务,联系电话:028-86922220__set_state(),调用var_export()导出类时,此静态方法会被调用。
作用:
自 PHP 5.1.0 起,当调用 var_export() 导出类时,此静态方法会被自动调用。
参数:
本方法的唯一参数是一个数组,其中包含按 array('property' => value, ...) 格式排列的类属性。
下面我们先来看看在没有加 __set_state() 情况按下,代码及运行结果如何:
上代码:
name = $name; $this->age = $age; $this->sex = $sex; } } $person = new Person('小明'); // 初始赋值 var_export($person);
看结果:
Person::__set_state(array( 'sex' => '男', 'name' => '小明', 'age' => 25, ))
很明显,将对象中的属性都打印出来了
加了 __set_state() 之后:
继续上代码:
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()方法的作用大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注创新互联行业资讯频道。