Operatori i Nxjerrjes së Sigurt në OOP në PHP

Operatori i nxjerrjes së sigurt ?-> lejon qasje të sigurt në metodat dhe vetitë e objekteve që mund të jenë null.

Le të shohim një shembull. Le të themi se kemi klasën e mëposhtme:

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

Le të krijojmë një objekt të kësaj klase:

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

Le të shfaqim vlerën e vetisë së saj:

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

Le të themi se ndodhi që në vend të objektit kemi null. Në këtë rast përpjekja për të hyrë në emrin e përdoruesit do të shkaktojë një gabim:

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

Për të shtypur gabimin, ne mund të përdorim operatorin e nxjerrjes së sigurt:

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

Përmirësoni kodin e mëposhtëm duke përdorur operatorin e nxjerrjes së sigurt:

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