⊗ppOpAdNOC 21 of 107 menu

Оператор за безопасно извличане в вериги от извиквания в ООП в PHP

Операторът за безопасно извличане ?-> може да се прилага във вериги от извиквания. Нека разгледаме пример. Да предположим, че имаме следните класове:

<?php class User { public $city = null; } class City { public function getName() { return 'city name'; } } ?>

Да предположим, че искаме да получим града на потребителя чрез верига:

<?php $user = new User(); $user->city = new City(); echo $user->city->getName(); ?>

В случай, че градът е равен на null, извикването на такава верига ще доведе до грешка:

<?php $user = new User(); $user->city = null; echo $user->city->getName(); // грешка ?>

За да предотвратим грешката, можем да използваме оператора за безопасно извличане:

<?php $user = new User(); $user->city = null; echo $user->city?->getName(); ?>

Да предположим сега, че и градът може да бъде null. В този случай можем да използваме оператора за безопасно извличане два пъти:

<?php $user = null; echo $user?->city?->getName(); ?>

Подобрете следния код чрез оператора за безопасно извличане:

<?php class Employee { public $name; public $position; public function __construct($name, $position) { $this->name = $name; $this->position = $position; } } class Position { private $name; public function __construct($name) { $this->name = $name; } public function getName() { return $this->name; } } $position = new Position('developer'); $employee = new Employee('john', $position); echo $employee->position->getName(); ?>
Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне