Yes it should, because hopefully errors are logged and reported and can be acted upon. Missing name doesn’t.
I hate this sentence with a passion, yet it is so so true. Especially in distributed systems, gotta live with it.
tldr: undefined constants were treated as a string (+ a warning), so `$x = FOO` was `$x = "FOO"` + a warning if `FOO` was not a defined constant. Thankfully this feature was removed in PHP 8.