ოპერატორი უსაფრთხო ამოღების OOP-ში PHP-ში

ოპერატორი უსაფრთხო ამოღების ?-> საშუალებას იძლევა უსაფრთხოდ მივწვდეთ ობიექტების მეთოდებს და თვისებებს, რომლებიც შეიძლება იყოს 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;
?>