L operatore Null Safe (?->) semplifica le verifiche null in catena.
Prima di PHP 8
// Controllare ogni passaggio
$country = null;
if ($user !== null) {
if ($user->getAddress() !== null) {
$country = $user->getAddress()->getCountry();
}
}
// Oppure con null coalescing (ma non funziona con metodi)
$country = $user ? ($user->getAddress() ? $user->getAddress()->getCountry() : null) : null;Con Null Safe Operator
$country = $user?->getAddress()?->getCountry();
// Se uno è null, ritorna null senza erroreEsempi pratici
// Database
$userName = $repository->find($id)?->getName();
// Config
$debug = $config?->get("app")?->debug ?? false;
// API Response
$city = $response?->data?->address?->city;