Оператори истироқи бехатар дар ООП дар PHP
Оператори истироқи бехатар ?-> имкон медиҳад
бехатар ба усулҳо ва хусусиятҳои объектҳо дастрасӣ пайдо кунем,
ки метавонанд null бошанд.
Биёед намунаеро дида бароем. Фарз кунем, ки мо синфи зеринро дорем:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Объекте аз ин синф созем:
<?php
$user = new User('john');
?>
Қимати хусусияти онро чоп кунем:
<?php
$user = new User('john');
echo $user->name;
?>
Акнун фарз кунем, ки ба ҷои
объект мо null дорем. Дар ин ҳолат
кӯшиши дастрасӣ ба номи корбар
ба хатогӣ меоранд:
<?php
$user = null;
echo $user->name; // хатогӣ
?>
Барои пахш кардани хатогӣ, мо метавонем оператори истироқи бехатарро истифода барем:
<?php
$user = null;
echo $user?->name;
?>
Коди зеринро тавассути оператори истироқи бехатар беҳтар кунед:
<?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;
?>