PHP 8 में, एक नया Stringable इंटरफ़ेस (__toString) जोड़ा गया है। यह मेथड डबल अंडरस्कोर (__) से शुरू होता है। __toString मेथड एक ऑब्जेक्ट को स्ट्रिंग के रूप में प्रस्तुत करने की अनुमति देता है। जब कोई क्लास __toString का उपयोग करके एक मेथड परिभाषित करती है, तो यह किसी ऑब्जेक्ट को तब कॉल करेगा जब भी उसे स्ट्रिंग के रूप में व्यवहार करने की आवश्यकता होगी।
उदाहरण: __toString का उपयोग करके Stringable इंटरफ़ेस
<?php
class Employee{
public function __toString(): string
{
return 'Employee Name';
}
}
$employee = new Employee();
print_r((string)$employee);
?>
आउटपुट
Employee Name
PHP 8 में, Stringable इंटरफ़ेस स्ट्रिंग्स को पास करना आसान बनाता है। एक Stringable इंटरफ़ेस स्वचालित रूप से जुड़ जाता है जब कोई क्लास __toString मेथड को लागू करती है। इसके लिए इंटरफ़ेस को स्पष्ट रूप से लागू करने की आवश्यकता नहीं होती है। Stringable इंटरफ़ेस टाइप हिंटिंग के लिए उपयोगी हो सकता है जब भी सख्त प्रकार लागू किए जाते हैं (strict_types=1)।
उदाहरण: PHP 8 में Stringable इंटरफ़ेस का उपयोग करना
<?php
declare(strict_types=1);
class Employee {
public function __toString() {
return 'Employee Details';
}
}
$emp = new Employee;
var_dump($emp instanceof Stringable);
?>
आउटपुट
bool(true)