Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  php  >  正文 PHP中 __set_state()方法详解

PHP中 __set_state()方法详解

发布时间:2020-11-23   编辑:www.jquerycn.cn
jquery中文网为您提供PHP中 ,,set,state()方法详解等资源,欢迎您收藏本站,我们将为您提供最新的PHP中 ,,set,state()方法详解资源
__set_state(),调用var_export()导出类时,此静态方法会被调用。

作用:

自 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中文网其它相关文章!

  • 本文原创发布jQuery中文网,转载请注明出处,感谢您的尊重!
  • 您可能感兴趣的文章:
    PHP中 __set_state()方法详解
    php常用的魔术函数详细解析
    php以__开头的方法是什么
    PHP之十六个魔术方法详解(总结)
    PHP的魔术方法与魔术常量
    PHP中魔术方法的使用举例
    PHP魔术常量、魔术函数、预定义常量详细介绍及实例讲解
    php面相对象的魔术方法使用总结
    php 魔术方法有哪些,作用是什么?
    php面相对象的魔术方法中文说明与例子

    [关闭]