Operatore di accesso sicuro in OOP in PHP

L'operatore di accesso sicuro ?-> consente di accedere in sicurezza a metodi e proprietà di oggetti che potrebbero essere null.

Diamo un'occhiata a un esempio. Supponiamo di avere la seguente classe:

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

Creiamo un oggetto di questa classe:

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

Stampiamo il valore della sua proprietà:

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

Supponiamo ora che invece dell'oggetto abbiamo null. In questo caso il tentativo di accedere al nome dell'utente risulterà in un errore:

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

Per evitare l'errore, possiamo utilizzare l'operatore di accesso sicuro:

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

Migliora il seguente codice utilizzando l'operatore di accesso sicuro:

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