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

巴扎黑
發布: 2023-03-07 14:50:01
原創
2180 人瀏覽過

我們都知道,在我們實例化一個類別之後,存取類別的屬性時,都是$實例化名稱->屬性名稱這樣的格式去訪問,那麼你們有沒有直接用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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!