⊗ppOpAdNOC 21 of 107 menu

PHP-də OOP-də Zəncirvari Çağırışlarda Təhlükəsiz Çıxarış Operatoru

Təhlükəsiz çıxarış operatoru ?-> zəncirvari çağırışlarda tətbiq edilə bilər. Nümunəyə baxaq. Tutaq ki, bizim aşağıdakı siniflərimiz var:

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

Tutaq ki, istifadəçinin şəhərini zəncir vasitəsilə almaq istəyirik:

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

Əgər şəhər null-a bərabərdirsə, belə bir zəncirin çağırılması xətaya səbəb olacaq:

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

Xətanı aradan qaldırmaq üçün biz təhlükəsiz çıxarış operatorundan istifadə edə bilərik:

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

İndi tutaq ki, şəhər də null ola bilər. Bu halda biz təhlükəsiz çıxarış operatorundan iki dəfə istifadə edə bilərik:

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

Aşağıdakı kodu təhlükəsiz çıxarış operatoru vasitəsilə yaxşılaşdırı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(); ?>
azbydeenesfrkakkptruuz