PHP 8.2 introduced several features that improve code quality and developer experience. Here are some highlights.
Readonly Classes
You can now mark entire classes as readonly:
readonly class User {
public function __construct(
public string $name,
public string $email,
) {}
}
Disjunctive Normal Form (DNF) Types
PHP 8.2 supports more expressive type declarations:
function test((A&B)|C $value): void {}
#[\SensitiveParameter]
Hide sensitive parameters from stack traces:
function login(#[\SensitiveParameter] string $password) {
// ...
}
These features help write safer, cleaner PHP code.