欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網
          最全最豐富的資訊網站

          php魔術方法的認識

          在php中將所有以“__”即兩個下劃線開頭的類方法保留為魔術方法,PHP中魔術方法有“__construct()”、“__destruct()”、“__call()”、“__callStatic()”、“__get()”等等。

          php魔術方法的認識

          推薦:《PHP視頻教程》

          魔術方法

          __construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone() 和 __debugInfo() 等方法在 PHP 中被稱為魔術方法(Magic methods)。在命名自己的類方法時不能使用這些方法名,除非是想使用其魔術功能。

          Caution

          PHP 將所有以 __(兩個下劃線)開頭的類方法保留為魔術方法。所以在定義類方法時,除了上述魔術方法,建議不要以 __ 為前綴。

          __sleep() 和 __wakeup()

          public __sleep ( void ) : array

          __wakeup ( void ) : void

          serialize() 函數會檢查類中是否存在一個魔術方法 __sleep()。如果存在,該方法會先被調用,然后才執(zhí)行序列化操作。此功能可以用于清理對象,并返回一個包含對象中所有應被序列化的變量名稱的數組。如果該方法未返回任何內容,則 NULL 被序列化,并產生一個 E_NOTICE 級別的錯誤。

          Note:

          __sleep() 不能返回父類的私有成員的名字。這樣做會產生一個 E_NOTICE 級別的錯誤??梢杂?Serializable 接口來替代。

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

          與之相反,unserialize() 會檢查是否存在一個 __wakeup() 方法。如果存在,則會先調用 __wakeup 方法,預先準備對象需要的資源。

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

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