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
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
La oss opprette et objekt av denne klassen:
<?php
$user = new User('john');
?>
La oss skrive ut verdien av dens egenskap:
<?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
$user = null;
echo $user->name; // feil
?>
For å unngå feilen kan vi bruke null-safe operatoren:
<?php
$user = null;
echo $user?->name;
?>
Forbedre følgende kode ved hjelp av null-safe operatoren:
<?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;
?>