Null-safe operator i OOP i PHP

Null-safe operatoren ?-> tillater sikker tilgang til metoder og egenskaper til objekter som kan være null.

La oss se på et eksempel. Anta at vi har følgende klasse:

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

La oss opprette et objekt av denne klassen:

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

La oss skrive ut verdien av dens egenskap:

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

Anta nå at det skjer at vi har null i stedet for et objekt. I dette tilfellet vil forsøk på å få tilgang til brukerens navn føre til en feil:

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

For å unngå feilen kan vi bruke null-safe operatoren:

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

Forbedre følgende kode ved hjelp av null-safe operatoren:

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