Lesson content
Read, practise, then check your understanding
PHP 7/8 added concise syntax that can improve intent when not overcompressed.
Practical example
<?php
$name = $input['name'] ?? 'Anonymous';
$upper = array_map(fn(string $value): string => strtoupper($value), $names);
$country = $user?->address?->country;
$service = new Service(logger: $logger, timeout: 5);
Arrow functions capture outer values by value. Nullsafe access yields null but can hide missing required state, so use it only for genuinely optional chains. Named arguments couple callers to parameter names. Promotion works best with validation and readonly dependencies.
Knowledge check
Answer every question correctly to complete this chapter.
0 of 10 checks passed
Your progress is saved on this device.