php的魔術方法小結,php類的魔術方法

本文目錄一覽:

php的魔術方法

PHP的魔術方法:

1、__construct() :實例化對象時自動調用。

2、__destruct() :銷毀對象或腳本執行結束時自動調用。

3、__call($name, $args) :調用對象不存在得方法時執行此函數。

4、__get() :獲取對象不存在的屬性時執行此函數。

5、__set() :設置對象不存在的屬性時執行此函數。

6、__isset() : 檢測對象的某個屬性是否存在時執行此函數。

7、__unset() :銷毀對象的某個屬性時執行此函數。

8、__toString() :將對象當作字符串輸出時執行此函數。

9、__clone() :克隆對象時執行此函數。

10、__autoload() :實例化對象時,當類不存在時,執行此函數自動加載類。

11、__sleep() :serialize之前被調用,可以指定要序列化的對象屬性。

12、__wakeup :unserialize之前被調用,可以執行對象的初始化工作。

13、__set_state() :調用var_export時,被調用。用__set_state的返回值做為var_export的返回值。

php中常用的魔術方法有哪些?

php規定以兩個下劃線__開頭的方法都保留為魔術方法,建議自定義函數的函數名最好避開。

__construct() 實例化類時自動調用。

__destruct() 類對象使用結束時自動調用。

__set() 在給未定義的屬性賦值的時候調用。

__get() 調用未定義的屬性時候調用。

__isset() 使用isset()或empty()函數時候會調用。

__unset() 使用unset()時候會調用。

__sleep() 使用serialize序列化時候調用。

__wakeup() 使用unserialize反序列化的時候調用。

__call() 調用一個不存在的方法的時候調用。

__callStatic()調用一個不存在的靜態方法是調用。

__toString() 把對象轉換成字符串的時候會調用。比如 echo。

__invoke() 當嘗試把對象當方法調用時調用。

__set_state() 當使用var_export()函數時候調用。接受一個數組參數。

__clone() 當使用clone複製一個對象時候調用。

php魔術方法。。

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

魔術方法的引入是對面向對象編程思想的進一步實現,重載就是通過魔術方法來實現的。

PHP 魔術方法主要有:

__construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(),__sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone() 和 __debugInfo() 等。

最常見的是__construct(), __destruct(),__get(), __set()等:

__construct和__destruct是類的構造函數和析構函數。

php 中的魔術函數都有哪些?

魔術函數1。__construct()

實例化對象時被調用,

當__construct和以類名為函數名的函數同時存在時,__construct將被調用,另一個不被調用。2。__destruct()

當刪除一個對象或對象操作終止時被調用。3。__call()

對象調用某個方法,

若方法存在,則直接調用;

若不存在,則會去調用__call函數。4。__get()

讀取一個對象的屬性時,

若屬性存在,則直接返回屬性值;

若不存在,則會調用__get函數。5。__set()

設置一個對象的屬性時,

若屬性存在,則直接賦值;

若不存在,則會調用__set函數。6。__toString()

打印一個對象的時被調用。如echo $obj;或print $obj;7。__clone()

克隆對象時被調用。如:$t=new Test();$t1=clone $t;8。__sleep()

serialize之前被調用。若對象比較大,想刪減一點東東再序列化,可考慮一下此函數。9。__wakeup()

unserialize時被調用,做些對象的初始化工作。10。__isset()

檢測一個對象的屬性是否存在時被調用。如:isset($c-name)。11。__unset()

unset一個對象的屬性時被調用。如:unset($c-name)。12。__set_state()

調用var_export時,被調用。用__set_state的返回值做為var_export的返回值。13。__autoload()

實例化一個對象時,如果對應的類不存在,則該方法被調用。魔術常量1。__LINE__

返迴文件中的當前行號。2。__FILE__

返迴文件的完整路徑和文件名。如果用在包含文件中,則返回包含文件名。自 PHP 4.0.2 起,__FILE__ 總是包含一個絕對路徑,而在此之前的版本有時會包含一個相對路徑。3。__FUNCTION__

返回函數名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該函數被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。4。__CLASS__

返回類的名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該類被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。5。__METHOD__

返回類的方法名(PHP 5.0.0 新加)。返回該方法被定義時的名字(區分大小寫)。

(1)初識魔術方法

Php5.0發布以來為我們提供了很多面向對象的特性,尤其是為我們提供了好多易用的魔術方法,這些魔術方法可以讓我們簡化我們的編碼,更好的設計我們的系統。今天我們就來認識下php5.0給我們提供的魔術方法。

原創文章,作者:ZREE,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/137068.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
ZREE的頭像ZREE
上一篇 2024-10-04 00:17
下一篇 2024-10-04 00:17

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • 解決.net 6.0運行閃退的方法

    如果你正在使用.net 6.0開發應用程序,可能會遇到程序閃退的情況。這篇文章將從多個方面為你解決這個問題。 一、代碼問題 代碼問題是導致.net 6.0程序閃退的主要原因之一。首…

    編程 2025-04-29
  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一個類的構造函數,在創建對象時被調用。在本篇文章中,我們將從多個方面詳細討論init方法的作用,使用方法以及注意點。 一、定義init方法 在Pyth…

    編程 2025-04-29
  • Python創建分配內存的方法

    在python中,我們常常需要創建並分配內存來存儲數據。不同的類型和數據結構可能需要不同的方法來分配內存。本文將從多個方面介紹Python創建分配內存的方法,包括列表、元組、字典、…

    編程 2025-04-29
  • 使用Vue實現前端AES加密並輸出為十六進制的方法

    在前端開發中,數據傳輸的安全性問題十分重要,其中一種保護數據安全的方式是加密。本文將會介紹如何使用Vue框架實現前端AES加密並將加密結果輸出為十六進制。 一、AES加密介紹 AE…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • 用不同的方法求素數

    素數是指只能被1和自身整除的正整數,如2、3、5、7、11、13等。素數在密碼學、計算機科學、數學、物理等領域都有着廣泛的應用。本文將介紹幾種常見的求素數的方法,包括暴力枚舉法、埃…

    編程 2025-04-29
  • Python學習筆記:去除字符串最後一個字符的方法

    本文將從多個方面詳細闡述如何通過Python去除字符串最後一個字符,包括使用切片、pop()、刪除、替換等方法來實現。 一、字符串切片 在Python中,可以通過字符串切片的方式來…

    編程 2025-04-29
  • 用法介紹Python集合update方法

    Python集合(set)update()方法是Python的一種集合操作方法,用於將多個集合合併為一個集合。本篇文章將從以下幾個方面進行詳細闡述: 一、參數的含義和用法 Pyth…

    編程 2025-04-29

發表回復

登錄後才能評論