[RFC] __exists(), a magic method for distinguishing "missing" from "set to null"
| From: | Nicolas Grekas | Date: | Fri, 01 May 2026 09:37:43 +0000 |
| Subject: | [RFC] __exists(), a magic method for distinguishing "missing" from "set to null" | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-130725@lists.php.net to get a copy of this message | ||
Dear internals,
It's my pleasure to submit this new RFC to yours.
Please have a look and let me know:
https://wiki.php.net/rfc/exists-magic-method
TL;DR: I'm proposing a new opt-in magic method:
public function __exists(string $name): bool;
It'd let userland tell "set to null" apart from "missing" on objects,
it'd
restore
isset() <=> ?? equivalence on magic properties, and it'd fixe GH-12695 as a
corollary. It's forward-compatible as a regular method on PHP <= 8.5
(probeable
via method_exists()), and would be magic on 8.6+.
Cheers,
Nicolas