Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Giao diện Stringable (Stringable Interface) trong PHP 8

Trong PHP 8, giao diện Stringable mới (__toString) được thêm. Phương thức này bắt đầu bằng dấu gạch dưới kép (__). Phương thức __toString cho phép lấy biểu diễn chuỗi của đối tượng. Khi lớp định nghĩa phương thức bằng __toString, nó sẽ được gọi khi đối tượng cần được xử lý như chuỗi.

Ví dụ: Stringable Interface dùng __toString

<?php 
class Employee {
    public function __toString(): string {
        return 'Employee Name';
    }
}
$employee = new Employee();
print_r((string)$employee);
?>

Kết quả

Employee Name

Trong PHP 8, giao diện Stringable giúp dễ dàng truyền chuỗi. Giao diện Stringable tự động thêm khi lớp triển khai phương thức __toString. Không cần triển khai giao diện tường minh. Stringable interface hữu ích cho type hinting khi ép kiểu nghiêm ngặt (strict_types=1).

Ví dụ: Sử dụng Stringable Interface trong PHP 8

<?php declare(strict_types=1);
class Employee {
    public function __toString() {
        return 'Employee Details';
    }
}
$emp = new Employee;
var_dump($emp instanceof Stringable);
?>

Kết quả

bool(true)