久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      php __sleep方法啥意思

      在PHP中,“__sleep()”是一個(gè)魔術(shù)方法,執(zhí)行serialize()時(shí),先會(huì)調(diào)用該方法;它可以用于清理對(duì)象,并返回一個(gè)包含對(duì)象中所有應(yīng)被序列化的變量名稱的數(shù)組?!癬_sleep()”方法常用于提交未提交的數(shù)據(jù),或類(lèi)似的清理操作。

      php __sleep方法啥意思

      本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦

      PHP中__sleep()方法詳解

      __sleep(),執(zhí)行serialize()時(shí),先會(huì)調(diào)用這個(gè)函數(shù)

      serialize() 函數(shù)會(huì)檢查類(lèi)中是否存在一個(gè)魔術(shù)方法 __sleep()。如果存在,則該方法會(huì)優(yōu)先被調(diào)用,然后才執(zhí)行序列化操作。

      此功能可以用于清理對(duì)象,并返回一個(gè)包含對(duì)象中所有應(yīng)被序列化的變量名稱的數(shù)組。

      如果該方法未返回任何內(nèi)容,則 NULL 被序列化,并產(chǎn)生一個(gè) E_NOTICE 級(jí)別的錯(cuò)誤。

      注意:

      __sleep() 不能返回父類(lèi)的私有成員的名字。這樣做會(huì)產(chǎn)生一個(gè) E_NOTICE 級(jí)別的錯(cuò)誤??梢杂?Serializable 接口來(lái)替代。

      作用:

      __sleep() 方法常用于提交未提交的數(shù)據(jù),或類(lèi)似的清理操作。同時(shí),如果有一些很大的對(duì)象,但不需要全部保存,這個(gè)功能就很好用。

      【推薦學(xué)習(xí):《PHP視頻教程》】

      具體請(qǐng)參考如下代碼:

      <?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;     }     /**      * @return array      */     public function __sleep() {         echo "當(dāng)在類(lèi)外部使用serialize()時(shí)會(huì)調(diào)用這里的__sleep()方法<br>";         $this->name = base64_encode($this->name);         return array('name', 'age'); // 這里必須返回一個(gè)數(shù)值,里邊的元素表示返回的屬性名稱     } } $person = new Person('小明'); // 初始賦值 echo serialize($person); echo '<br/>';

      代碼運(yùn)行結(jié)果:

      當(dāng)在類(lèi)外部使用serialize()時(shí)會(huì)調(diào)用這里的__sleep()方法 O:6:"Person":2:{s:4:"name";s:8:"5bCP5piO";s:3:"age";i:25;}

      擴(kuò)展知識(shí):

      魔術(shù)方法

      在利用對(duì)PHP反序列化進(jìn)行利用時(shí),經(jīng)常需要通過(guò)反序列化中的魔術(shù)方法,檢查方法里有無(wú)敏感操作來(lái)進(jìn)行利用。

      PHP 將所有以 __(兩個(gè)下劃線)開(kāi)頭的類(lèi)方法保留為魔術(shù)方法。

      常見(jiàn)的魔術(shù)方法

      __construct()//創(chuàng)建對(duì)象時(shí)觸發(fā)

      __destruct() //對(duì)象被銷(xiāo)毀時(shí)觸發(fā)

      __call() //在對(duì)象上下文中調(diào)用不可訪問(wèn)的方法時(shí)觸發(fā)

      __callStatic() //在靜態(tài)上下文中調(diào)用不可訪問(wèn)的方法時(shí)觸發(fā)

      __get() //用于從不可訪問(wèn)的屬性讀取數(shù)據(jù)

      __set() //用于將數(shù)據(jù)寫(xiě)入不可訪問(wèn)的屬性

      __isset() //在不可訪問(wèn)的屬性上調(diào)用isset()或empty()觸發(fā)

      __unset() //在不可訪問(wèn)的屬性上使用unset()時(shí)觸發(fā)

      __invoke() //當(dāng)腳本嘗試將對(duì)象調(diào)用為函數(shù)時(shí)觸發(fā)

      __sleep() //此功能可以用于清理對(duì)象,并返回一個(gè)包含對(duì)象中所有應(yīng)被序列化的變量名稱的數(shù)組。

      __wakeup() //經(jīng)常用在反序列化操作中,例如重新建立數(shù)據(jù)庫(kù)連接,或執(zhí)行其它初始化操作。

      php魔術(shù)方法官方文檔 :https://www.php.net/manual/zh/language.oop5.magic.php

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)