Drošās izgūšanas operators OOP PHP
Drošās izgūšanas operators ?-> ļauj
droši piekļūt objektu metodēm un īpašībām,
kas var būt null.
Apskatīsim piemērā. Pieņemsim, ka mums ir šāda klase:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Izveidosim šīs klases objektu:
<?php
$user = new User('john');
?>
Izvadīsim tā īpašības vērtību:
<?php
$user = new User('john');
echo $user->name;
?>
Pieņemsim, ka notika tā, ka objekta vietā
mums ir null. Šajā gadījumā
mēģinājums piekļūt lietotāja vārdam
izraisīs kļūdu:
<?php
$user = null;
echo $user->name; // kļūda
?>
Lai novērstu kļūdu, mēs varam izmantot drošās izgūšanas operatoru:
<?php
$user = null;
echo $user?->name;
?>
Uzlabojiet šādu kodu, izmantojot drošās izgūšanas operatoru:
<?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;
?>