What is Stringable Interface in PHP 8?



In PHP 8, a new Stringable Interface (__toSting) is added. This method starts with the double underscore (__). The __toString method allows getting an object represented as a string. When a class defines a method using __toString, then it will call an object whenever it needs to treat as a string.

Example: Stringable Interface using __toString

 Live Demo

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

Output

Employee Name

In PHP 8, the Stringable interface makes it easy to pass strings. A Stringable interface adds automatically once a class implements the __toString method. It does not require implementing the interface explicitly. The Stringable interface can be helpful for type hinting whenever strict types are imposed (string_types=1).

Example: Using Stringable Interface in PHP 8

 Live Demo

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

Output

bool(true)
Updated on: 2021-04-01T07:02:34+05:30

480 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements