Opérateur de navigation sécurisée en POO en PHP

L'opérateur de navigation sécurisée ?-> permet d'accéder en toute sécurité aux méthodes et propriétés des objets, qui peuvent être null.

Regardons un exemple. Supposons que nous ayons la classe suivante :

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

Créons un objet de cette classe :

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

Affichons la valeur de sa propriété :

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

Supposons maintenant qu'au lieu d'un objet, nous ayons null. Dans ce cas, tenter d'accéder au nom de l'utilisateur entraînera une erreur :

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

Pour éviter l'erreur, nous pouvons utiliser l'opérateur de navigation sécurisée :

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

Améliorez le code suivant en utilisant l'opérateur de navigation sécurisée :

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