Անվտանգ դուրսբերման օպերատորը OOP-ում PHP-ում

Անվտանգ դուրսբերման օպերատորը ?-> թույլ է տալիս անվտանգ կերպով դիմել օբյեկտների մեթոդներին և հատկություններին, որոնք կարող են լինել null:

Դիտարկենք օրինակով: Ենթադրենք ունենք հետևյալ դասը`

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

Ստեղծենք այս դասի օբյեկտ`

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

Դուրս բերենք նրա հատկության արժեքը`

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

Ենթադրենք, որ հիմա օբյեկտի փոխարեն ունենք null: Այս դեպքում օգտագործողի անունին դիմելու փորձը կհանգեցնի սխալի`

php<?php
  $user = null;
  echo $user->name; // սխալ
?>

Սխալը ճնշելու համար մենք կարող ենք օգտագործել անվտանգ դուրսբերման օպերատորը`

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

Բարելավեք հետևյալ կոդը՝ օգտագործելով անվտանգ դուրսբերման օպերատորը`

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