「__toString()」是php中的一個魔術方法,在把物件轉換成字串時自動調用,用於一個類別被當成字串時應如何回應;該方法必須傳回一個字串,否則將發出一條「E_RECOVERABLE_ERROR」等級的致命錯誤。
本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦
__toString(),類別當成字串時的回應方法
__toString()是php中的一個魔術方法,在把物件轉換成字串時自動呼叫。
在物件導向程式設計中,PHP 提供了一系列的魔術方法,這些魔術方法為程式設計提供了許多便利,在 PHP 中的作用是非常重要的。 PHP 中的魔術方法通常以__(兩個底線)開始,不需要明確的呼叫而是在某種特定條件下自動呼叫的。
作用:
__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:\phpStudy\WWW\test\index.php on line 18 很明显,页面报了一个致命错误,这是语法所不允许的。
擴充資料:PHP 中的魔術方法如下表所示:
魔術方法 | 作用 |
---|---|
#__construct() | 實例化類別時會自動調用 |
__destruct() | 類別物件使用結束時自動呼叫 |
__set() | 在給未定義的屬性賦值時自動呼叫 |
__get() | #在呼叫未定義的屬性時自動呼叫 |
__isset() | 使用isset() 或empty() 函數時自動呼叫 |
__unset() | 使用unset() 時自動呼叫 |
__sleep() | 使用serialize 序列化時自動呼叫 |
__wakeup() | 使用unserialize反序列化時自動呼叫 |
__call() | 呼叫不存在的方法時自動呼叫 |
呼叫一個不存在的靜態方法時自動呼叫 | |
#把物件轉換成字串時自動呼叫 | |
當嘗試把物件當方法呼叫時自動呼叫 | |
當使用var_export() 函數時自動調用,接受一個數組參數 | |
#當使用clone 複製一個物件時自動調用 | |
使用var_dump() 列印物件資訊時自動呼叫 |
以上是php __toString()方法有什麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)