⊗ppOpAdNOC 21 of 107 menu

Operador de recuperación segura en cadenas en POO en PHP

El operador de recuperación segura ?-> puede aplicarse en cadenas de llamadas. Veamos un ejemplo. Supongamos que tenemos las siguientes clases:

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

Supongamos que queremos obtener la ciudad del usuario a través de la cadena:

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

En caso de que la ciudad sea null, la llamada a esta cadena resultará en un error:

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

Para suprimir el error, podemos utilizar el operador de recuperación segura:

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

Supongamos ahora que el usuario también puede ser null. En este caso podemos utilizar el operador de recuperación segura dos veces:

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

Mejore el siguiente código mediante el operador de recuperación segura:

<?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(); ?>
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar