Անվտանգ դուրսբերման օպերատորը OOP-ում 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;
?>