ოპერატორი უსაფრთხო ამოღების 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;
?>