PHP中__set_state()方法详解

PHP中__set_state()方法详解

内容导读

收集整理的这篇技术教程文章主要介绍了PHP中__set_state()方法详解,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1202字,纯文字阅读大概需要2分钟

内容图文

__set_state(),调用var_export()导出类时,此静态方法会被调用。

作用:

自 PHP 5.1.0 起,当调用 var_export() 导出类时,此静态方法会被自动调用。

参数:

本方法的唯一参数是一个数组,其中包含按 array('property' => value, ...) 格式排列的类属性。

下面我们先来看看在没有加 __set_state() 情况按下,代码及运行结果如何:

上代码:

<?phpclass 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() 之后:

继续上代码:

<?phpclass 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()方法详解的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的PHP中__set_state()方法详解全部内容,希望文章能够帮你解决PHP中__set_state()方法详解所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com