【PHP面向對象(OOP)編程入門教程】16.__toString()方法


我們前面說過在類里面聲明“__”開始的方法名的方法(PHP給我們提供的),都是在某一時刻不同情況下自動調用執行的方 法,“__toString()”方法也是一樣自動被調用的,是在直接輸出對象引用時自動調用的, 前面我們講過對象引用是一個指針,比如 說:“$p=new Person()“中,$p就是一個引用,我們不能使用echo 直接輸出$p,這樣會輸 出“Catchable fatal error: Object of class Person could not be converted to string”這樣的錯誤,如果你在類里面定義了“__toString()”方法,在直接輸出對象引用的時候,就不會產生錯誤,而是自動調用 了”__toString()”方法, 輸出“__toString()”方法中返回的字符,所以“__toString()”方法一定要有個返回值(return 語句)

<?php
// Declare a simple class
class TestClass {
	public $foo;

	public function __construct($foo) {
		$this->foo = $foo;
	}

	// 定義一個__toString方法,返加一個成員屬性$foo
	public function __toString() {
		return $this->foo;
	}
}

$class = new TestClass('Hello');

// 直接輸出對象
echo $class;
?>
上例輸出:Hello


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM