⊗ppOpAdNOC 21 of 107 menu

Operatorul de extragere în siguranță în lanțuri în OOP în PHP

Operatorul de extragere în siguranță ?-> poate fi aplicat în lanțuri de apeluri. Să vedem un exemplu. Să presupunem că avem următoarele clase:

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

Să presupunem că vrem să obținem orașul utilizatorului prin lanț:

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

În cazul în care orașul este null, apelarea unui astfel de lanț va duce la o eroare:

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

Pentru a suprima eroarea, putem utiliza operatorul de extragere în siguranță:

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

Să presupunem acum că și orașul poate fi null. În acest caz putem utiliza operatorul de extragere în siguranță de două ori:

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

Îmbunătățiți următorul cod folosind operatorul de extragere în siguranță:

<?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(); ?>
Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge