作用:
__toString() 方法用於一個類被當成字串時應怎樣回應。例如 `echo $obj;` 應該顯示些什麼。
注意:
此方法必須返回一個字串,否則將發出一條 `E_RECOVERABLE_ERROR` 級別的致命錯誤。
警告:
不能在 __toString() 方法中丟擲異常。這麼做會導致致命錯誤。
程式碼:
<?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; } public function __toString() { return 'go go go'; } } $person = new Person('小明'); // 初始賦值 echo $person;
結果:
go go go
那麼如果類中沒有 __toString() 這個魔術方法執行會發生什麼呢?讓我們來測試下:
程式碼:
<?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; } } $person = new Person('小明'); // 初始賦值 echo $person;
結果:
Catchable fatal error: Object of class Person could not be converted to string in D:phpStudyWWWtestindex.php on line 18 很明顯,頁面報了一個致命錯誤,這是語法所不允許的。
以上就是PHP中 __toString()方法詳解的詳細內容,更多請關注TW511.COM其它相關文章!