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
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Ustvarimo objekt tega razreda:
<?php
$user = new User('john');
?>
Izpišimo vrednost njegove lastnosti:
<?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
$user = null;
echo $user->name; // napaka
?>
Da preprečimo napako, lahko uporabimo varnostni operator za dostop:
<?php
$user = null;
echo $user?->name;
?>
Izboljšajte naslednjo kodo z varnostnim operatorjem za dostop:
<?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;
?>