⊗ppOpAdNOC 21 of 107 menu

Operátor bezpečného získávání v řetězcích v OOP v PHP

Operátor bezpečného získávání ?-> lze aplikovat v řetězcích volání. Podívejme se na příklad. Předpokládejme, že máme následující třídy:

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

Předpokládejme, že chceme získat město uživatele pomocí řetězce:

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

V případě, že město je rovno null, volání takového řetězce povede k chybě:

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

Abychom potlačili chybu, můžeme použít operátor bezpečného získávání:

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

Předpokládejme nyní, že i město může být null. V tomto případě můžeme použít operátor bezpečného získávání dvakrát:

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

Vylepšete následující kód pomocí operátoru bezpečného získávání:

<?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(); ?>
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικά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
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout