Veilige Uittrekseloperator in OOP in PHP

Die veilige uittrekseloperator ?-> laat veilige toegang tot metodes en eienskappe van objekte toe, wat moontlik null kan wees.

Kom ons kyk na 'n voorbeeld. Gestel ons het die volgende klas:

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

Kom ons skep 'n objek van hierdie klas:

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

Kom ons toon die waarde van sy eienskap:

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

Gestel dit gebeur nou dat ons null het in plaas van 'n objek. In hierdie geval sal 'n poging om na die gebruikersnaam te verwys lei tot 'n fout:

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

Om die fout te onderdruk, kan ons die veilige uittrekseloperator gebruik:

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

Verbeter die volgende kode deur die veilige uittrekseloperator:

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