วิธีการ __toString
วิธีการ __toString เป็นวิธีการวิเศษ (magic method) ใน PHP ที่กำหนดว่า
ออบเจ็กต์ควรมีพฤติกรรมอย่างไรเมื่อพยายามแปลงมันเป็นสตริง
วิธีนี้จะถูกเรียกใช้โดยอัตโนมัติเมื่อใช้ออบเจ็กต์ในบริบท
ที่คาดหวังว่าจะได้สตริง เช่น เมื่อแสดงผลผ่าน echo หรือเมื่อต่อสตริง (concatenation)
วิธีการนี้จะต้องคืนค่าการแสดงผลของออบเจ็กต์ในรูปแบบสตริง
ไวยากรณ์
public function __toString(): string
{
// return string representation
}
ตัวอย่าง
มาสร้างคลาสง่ายๆ พร้อมกับวิธีการ __toString:
<?php
class User
{
public function __toString(): string
{
return 'User object';
}
}
$user = new User();
echo $user;
?>
ผลลัพธ์การทำงานของโค้ด:
'User object'
ตัวอย่าง
ตัวอย่างที่ซับซ้อนมากขึ้นโดยการคืนค่าคุณสมบัติ (properties) ของออบเจ็กต์:
<?php
class Product
{
private $name = 'Laptop';
private $price = 1000;
public function __toString(): string
{
return $this->name . ' - $' . $this->price;
}
}
$product = new Product();
echo 'Product: ' . $product;
?>
ผลลัพธ์การทำงานของโค้ด:
'Product: Laptop - $1000'
ดูเพิ่มเติม
-
วิธีการ
__construct,
ซึ่งเป็นตัวสร้างออบเจ็กต์ (constructor) -
วิธีการ
__destruct,
ซึ่งเป็นตัวทำลายออบเจ็กต์ (destructor)