⊗ppOpAdNOC 21 of 107 menu

Turvallisen poimintaoperaattori ketjuissa OOP:ssa PHP:ssä

Turvallisen poimintaoperaattori ?-> voidaan soveltaa ketjukutsuissa. Katsotaanpa esimerkkiä. Olkoon meillä seuraavat luokat:

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

Oletetaan, että haluamme saada käyttäjän kaupungin ketjun kautta:

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

Jos kaupunki on null, tällaisen ketjun kutsuminen johtaa virheeseen:

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

Virheen tukahduttamiseksi voimme käyttää turvallista poimintaoperaattoria:

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

Oletetaan nyt, että myös kaupunki voi olla null. Tässä tapauksessa voimme käyttää turvallista poimintaoperaattoria kahdesti:

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

Paranna seuraavaa koodia käyttämällä turvallista poimintaoperaattoria:

<?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('kehittäjä'); $employee = new Employee('john', $position); echo $employee->position->getName(); ?>
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää