PHP 8-এ, একটি নতুন Stringable Interface (__toSting) যোগ করা হয়েছে। এই মেথড ডাবল আন্ডারস্কোর (__) দিয়ে শুরু হয়। __toString মেথড একটি অবজেক্টকে স্ট্রিং হিসেবে উপস্থাপন করতে অনুমতি দেয়। যখন একটি ক্লাস __toString ব্যবহার করে একটি মেথড সংজ্ঞায়িত করে, তবে এটি একটি অবজেক্টকে কল করবে যখনই সেটিকে স্ট্রিং হিসেবে ট্রিট করতে হবে।
উদাহরণ: __toString ব্যবহার করে Stringable Interface
<?php class Employee{ public function __toString(): string { return 'Employee Name'; } } $employee = new Employee(); print_r((string)$employee); ?>আউটপুট
Employee Name
PHP 8-এ, Stringable interface স্ট্রিং পাস করা সহজ করে তোলে। একটি Stringable interface স্বয়ংক্রিয়ভাবে যোগ হয় একবার একটি ক্লাস __toString মেথড ইমপ্লিমেন্ট করলে। এটি এক্সপ্লিসিটলি ইন্টারফেস ইমপ্লিমেন্ট করতে বাধ্য করে না। Stringable interface টাইপ হিন্টিং-এ সহায়ক হতে পারে যখন স্ট্রিক্ট টাইপ বাধ্য করা হয় (string_types=1)।
উদাহরণ: PHP 8-এ Stringable Interface ব্যবহার
<?php declare(strict_types=1); class Employee { public function __toString() { return 'Employee Details'; } } $emp = new Employee; var_dump($emp instanceof Stringable); ?>আউটপুট
bool(true)