⊗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ščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш