Operator bezpiecznego wyodrębnienia w OOP w PHP

Operator bezpiecznego wyodrębnienia ?-> pozwala bezpiecznie odwoływać się do metod i właściwości obiektów, które mogą być null.

Spójrzmy na przykład. Załóżmy, że mamy następującą klasę:

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

Stwórzmy obiekt tej klasy:

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

Wypiszmy wartość jego właściwości:

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

Załóżmy teraz, że zamiast obiektu mamy null. W tym przypadku próba odwołania się do nazwy użytkownika spowoduje błąd:

php<?php
  $user = null;
  echo $user->name; // błąd
?>

Aby stłumić błąd, możemy użyć operatora bezpiecznego wyodrębnienia:

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

Popraw następujący kod za pomocą operatora bezpiecznego wyodrębnienia:

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;
?>