PHP中__set_state()方法的作用-創(chuàng)新互聯(lián)

PHP中 __set_state()方法的作用?這個問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!

創(chuàng)新互聯(lián)2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元博野做網(wǎng)站,已為上家服務(wù),為博野各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220

__set_state(),調(diào)用var_export()導(dǎo)出類時(shí),此靜態(tài)方法會被調(diào)用。

作用:

自 PHP 5.1.0 起,當(dāng)調(diào)用 var_export() 導(dǎo)出類時(shí),此靜態(tài)方法會被自動調(diào)用。

參數(shù):

本方法的唯一參數(shù)是一個數(shù)組,其中包含按 array('property' => value, ...) 格式排列的類屬性。

下面我們先來看看在沒有加 __set_state() 情況按下,代碼及運(yùn)行結(jié)果如何:

上代碼:

<?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);

看結(jié)果:

Person::__set_state(array( 'sex' => '男', 'name' => '小明', 'age' => 25, ))

很明顯,將對象中的屬性都打印出來了

加了 __set_state() 之后:

繼續(xù)上代碼:

<?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);

繼續(xù)看結(jié)果:

Person::__set_state(array( 'sex' => '男', 'name' => '小紅', 'age' => 25, ))

感謝各位的閱讀!看完上述內(nèi)容,你們對PHP中 __set_state()方法的作用大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站名稱:PHP中__set_state()方法的作用-創(chuàng)新互聯(lián)
當(dāng)前地址:http://bm7419.com/article18/hecgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、網(wǎng)站策劃App開發(fā)、移動網(wǎng)站建設(shè)標(biāo)簽優(yōu)化、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化