PHP 8 নাল চেক কন্ডিশনের বদলে nullsafe operator ব্যবহার করে। Nullsafe operator ব্যবহার করে আমরা কলের একটি চেইন ব্যবহার করতে পারি। এলিমেন্টগুলো ইভ্যালুয়েট করার সময়, যদি একটি চেইন এলিমেন্ট ফেইল করে, তবে পুরো চেইনের এক্সিকিউশন অ্যাবোর্ট হয়ে যাবে এবং এটি null-এ ইভ্যালুয়েট হবে।
যখন বাম পাশের অপারেটর null-এ ইভ্যালুয়েট হয়, তবে পুরো এক্সিকিউশন চেইন রুকে যাবে এবং এটি null-এ ইভ্যালুয়েট হবে। যদি এটি null-এ ইভ্যালুয়েট না হয়, তবে এটি একটি সাধারণ অপারেটর처럼 আচরণ করবে।
Nullsafe operator চেইন করা যাবে, এবং এক্সপ্রেশন প্রথম nullsafe operator-এ null পাওয়া পর্যন্ত শর্ট-সার্কিট হবে।
$employee->getDepartment()?->getAddress()->format();
Nullsafe সিনট্যাক্স মেথড/প্রোপার্টি অ্যাক্সেস অপারেটর(→) এর মতো। আমরা null-safe operator-এ "?→" ব্যবহার করি।
সিনট্যাক্স: PHP 8 Nullsafe operator
$foo?->bar?->baz;
উদাহরণ: PHP 8 Nullsafe Operator(?→)
<?php class Emp{ public function getAddress() {} } $emp = new Emp(); $dept = $emp?->getAddress()?->dept?->iso_code; print_r($dept); ?>আউটপুট
null