Operator bezbednog izvlačenja u OOP u PHP-u
Operator bezbednog izvlačenja ?-> omogućava
bezbedan pristup metodima i svojstvima objekata
koji mogu biti null.
Pogledajmo na primeru. Neka imamo sledeću klasu:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Kreirajmo objekat ove klase:
<?php
$user = new User('john');
?>
Ispisaćemo vrednost njegovog svojstva:
<?php
$user = new User('john');
echo $user->name;
?>
Neka se sada desi da umesto
objekta imamo null. U tom slučaju
pokusaj da se pristupi imenu korisnika
će dovesti do greške:
<?php
$user = null;
echo $user->name; // greška
?>
Da bismo sprečili grešku, možemo koristiti operator bezbednog izvlačenja:
<?php
$user = null;
echo $user?->name;
?>
Poboljšajte sledeći kod koristeći operator bezbednog izvlačenja:
<?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;
?>