Varnostni operator za dostop v OOP v PHP

Varnostni operator za dostop ?-> omogoča varen dostop do metod in lastnosti objektov, ki so lahko null.

Poglejmo si primer. Recimo, da imamo naslednji razred:

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

Ustvarimo objekt tega razreda:

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

Izpišimo vrednost njegove lastnosti:

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

Recimo, da se zgodi, da imamo namesto objekta vrednost null. V tem primeru bo poskus dostopa do imena uporabnika povzročil napako:

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

Da preprečimo napako, lahko uporabimo varnostni operator za dostop:

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

Izboljšajte naslednjo kodo z varnostnim operatorjem za dostop:

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