পিএইচপিতে ওওপি-তে নিরাপদ এক্সট্রাকশন অপারেটর

নিরাপদ এক্সট্রাকশন অপারেটর ?-> অবজেক্টের মেথড এবং প্রোপার্টিগুলিতে নিরাপদে অ্যাক্সেস করার অনুমতি দেয় যেগুলি null হতে পারে।

আসুন একটি উদাহরণ দেখি। ধরুন আমাদের নিম্নলিখিত ক্লাস আছে:

php<?php
  class User
  {
    public $name;
    
    public function __construct($name)
    {
      $this->name = $name;
    }
  }
?>

এই ক্লাসের একটি অবজেক্ট তৈরি করা যাক:

php<?php
  $user = new User('john');
?>

এর প্রোপার্টির মান আউটপুট করা যাক:

php<?php
  $user = new User('john');
  echo $user->name;
?>

ধরুন এখন এমন হল যে অবজেক্টের পরিবর্তে আমাদের কাছে null আছে। এই ক্ষেত্রে ব্যবহারকারীর নামে অ্যাক্সেস করার চেষ্টা একটি ত্রুটির দিকে নিয়ে যাবে:

php<?php
  $user = null;
  echo $user->name; // ত্রুটি
?>

ত্রুটি দমন করতে, আমরা নিরাপদ এক্সট্রাকশন অপারেটর ব্যবহার করতে পারি:

php<?php
  $user = null;
  echo $user?->name;
?>
Задание 1

নিরাপদ এক্সট্রাকশন অপারেটরের মাধ্যমে নিম্নলিখিত কোডটি উন্নত করুন:

php<?php
  class Employee {
    public $name;
    public $salary;
    
    public function __construct($name, $salary)
    {
      $this->name = $name;
      $this->salary = $salary;
    }
  }
  
  $employee = new Employee('john', 1000);
  
  echo $employee->name;
  echo $employee->salary;
?>