⊗ppOpAdNOC 21 of 107 menu

Operatori i Nxjerrjes së Sigurt në Zinxhirë në OOP në PHP

Operatori i nxjerrjes së sigurt ?-> mund të aplikohet në zinxhirë thirrjesh. Le të shohim me një shembull. Le të themi se kemi klasat e mëposhtme:

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

Le të themi se duam të marrim qytetin e përdoruesit përmes një zinxhiri:

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

Në rast se qyteti është null, thirrja e një zinxhiri të tillë do të çojë në gabim:

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

Për të shtypur gabimin, ne mund të përdorim operatorin e nxjerrjes së sigurt:

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

Le të themi tani që edhe qyteti mund të jetë null. Në këtë rast ne mund të përdorim operatorin e nxjerrjes së sigurt dy herë:

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

Përmirësoni kodin e mëposhtëm duke përdorur operatorin e nxjerrjes së sigurt:

<?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('zhvillues'); $employee = new Employee('john', $position); echo $employee->position->getName(); ?>
Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo