The Nullsafe operator, introduced in PHP 8.0, is a game-changer for handling nullable properties and method calls more gracefully. It allows you to avoid verbose null checks, making your code cleaner and more readable.
Example Tradition Null Check
$userCountry = null;
if ($user !== null) {
if ($user->getAddress() !== null) {
$userCountry = $user->getAddress()->getCountry();
}
}
๐๐ก๐ฒ ๐๐ฌ๐ ๐ญ๐ก๐ ๐๐ฎ๐ฅ๐ฅ๐ฌ๐๐๐ ๐๐ฉ๐๐ซ๐๐ญ๐จ๐ซ?
โ
๐๐จ๐ง๐๐ข๐ฌ๐๐ง๐๐ฌ๐ฌ: Reduces the amount of boilerplate code required for null checks.
โ
๐๐๐๐๐๐๐ข๐ฅ๐ข๐ญ๐ฒ: Makes your code more readable and expressive, clearly showing the intent of handling nullable values.
โ
๐๐๐๐๐ญ๐ฒ: Helps avoid null dereference errors in a more elegant way, ensuring your code handles potential null values seamlessly.
Nullsafe implementation
$userCountry = $user?->getAddress()?->getCountry();
Have you started using the Nullsafe operator in your PHP 8 projects? Share your thoughts and experiences!
Top comments (2)
Although this is a great feature, using null is considered as a code smell these days.
The main reason that it became a code smell is that php now has return type hinting. And it is better to return a single type instead of multiple.
It is also better to do an early return. so instead of a waterfall of checks just do one check
Thank you @xwero You raise valid points regarding the use of null and the importance of return type hinting in PHP. I agree that returning a single type and utilizing early returns can lead to cleaner and more maintainable code