首頁 >後端開發 >php教程 >魔術方法___toString()實例詳解(php物件導向進階教學)

魔術方法___toString()實例詳解(php物件導向進階教學)

巴扎黑
巴扎黑原創
2017-04-18 18:16:202225瀏覽

我們都知道,在我們實例化一個類別之後,存取類別的屬性時,都是$實例化名稱->屬性名稱這樣的格式去訪問,那麼你們有沒有直接用echo或print輸出過對象試試結果呢。有的人說,這樣應該是不行的,會報錯吧。沒錯,這樣直接輸出確實會報錯,但是,當我們用了魔術方法__toString時就可以了。 __toString()方法會先將物件傳化成字串在輸出,這樣就可以用echo或是print輸出了。

實例分析:

<?php
header("content-type:text/html;charset=utf-8");
class Preson{
public $name;
private $age;
function __construct($name,$age)
{
$this->name = $name;
$this->age = $age;
}
public function __toString()
{
return $this->name . &#39;今年已经&#39; . $this->age . &#39;岁了&#39;;
}
}
$preson = new Preson(&#39;小明&#39;,18);
echo $preson;

程式碼分析:

我們先建立了一個人的類,定義屬性,建立建構方法,然後我們實例化這個類,最後直接echo這個類別名稱。這是會發現,頁面上會顯示錯誤訊息: Object of class Preson could not be converted to string in D:\WWW\tostring.php on line 15。意思是物件的類別人不能轉換為字串不能輸出。所以我們加上__toString()方法,就可以了,在方法中直接回傳所需的結果就可以了。

以上是魔術方法___toString()實例詳解(php物件導向進階教學)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn