Sikker hentningsoperator i OOP i PHP

Operatoren for sikker hentning ?-> tillader sikker adgang til metoder og egenskaber af objekter, som kan være null.

Lad os se på et eksempel. Lad os sige at vi har følgende klasse:

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

Lad os oprette et objekt af denne klasse:

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

Lad os udskrive værdien af dets egenskab:

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

Lad os nu sige at det sker, at vi i stedet for et objekt har null. I dette tilfælde vil et forsøg på at tilgå brugerens navn føre til en fejl:

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

For at undertrykke fejlen kan vi bruge operatoren for sikker hentning:

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

Forbedr følgende kode ved hjælp af operatoren for sikker hentning:

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