PHP魔術方法之 toString

2021-08-20 04:27:49 字數 789 閱讀 6154

__tostring()是快速獲取物件的字串資訊的便捷方式,似乎魔術方法都有乙個「自動「的特性,如自動獲取,自動列印等,__tostring()也不例外,它是在直接輸出物件引用時自動呼叫的方法。

__tostring()的作用

當我們除錯程式時,需要知道是否得出正確的資料。比如列印乙個物件時,看看這個物件都有哪些屬性,其值是什麼,如果類定義了tostring方法,就能在測試時,echo列印物件體,物件就會自動呼叫它所屬類定義的tostring方法,格式化輸出這個物件所包含的資料。

class person

function say()

function __tostring()

}$wblog = new person('wblog');

echo $wblog;//直接輸出物件引用則自動呼叫了物件中的__tostring()方法

$wblog->say();//試比較一下和上面的自動呼叫有什麼不同

程式輸出:

hello,wblog!

hello,wblog!

如果不定義「__tostring()」方法會怎麼樣呢?例如在上面**的基礎上,把「 __tostring()」方法遮蔽掉,再看一下程式輸出結果:

catchable fatal error: object of class person could not be converted to string

由此可知如果在類中沒有定義「__tostring()」方法,則直接輸出以象的引用時就會產生誤法錯誤,另外__tostring()方法體中需要有乙個返回值。

PHP基礎之魔術方法

public void construct public void destruct public void set string name mixed value public mixed get string name public bool isset string name public v...

php魔術方法之 get 方法

get 方法的作用是獲取私有成員的屬性值,它含有乙個引數,即要獲取的成員屬性的名稱,呼叫時返回獲取的屬性值,這個方法不需要手動呼叫,是在獲取私有屬性時自動呼叫的,因為私有屬性已經被封裝,不能直接獲取屬性值,如 echo p1 name 的形式是錯誤的,但如果在類裡面加上了 get 的方法,在使用 e...

php魔術常量,魔術方法

魔術常量 1。line 返回檔案中的當前行號。2。file 返回檔案的完整路徑和檔名。如果用在包含檔案中,則返回包含檔名。自php4.0.2 起,file 總是包含乙個絕對路徑,而在此之前的版本有時會包含乙個相對路徑。3。function 返回函式名稱 php4.3.0 新加 自php5 起本常量返...