⊗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ščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј