Turvalise omaduse poördumise operaator OOP-s PHP-s

Turvalise omaduse poördumise operaator ?-> võimaldab turvaliselt poörduda meetodite ja omaduste poole objektides, mis võivad olla null.

Vaatame näidet. Olgem meil järgmine klass:

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

Loome selle klassi objekti:

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

Väljastame selle omaduse väärtuse:

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

Olgem nüüd, et selle asemel, et meil on objekt, on meil null. Sel juhul katse poörduda kasutaja nime poole viib veani:

php<?php
  $user = null;
  echo $user->name; // viga
?>

Et viga summutada, saame me kasutada turvalise omaduse poördumise operaatorit:

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

Parandage järgnevat koodi läbi turvalise omaduse poördumise operaatori:

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