Exactly, something like a name missing shouldn't cause the app to completely error out for the user.
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.
I hate this sentence with a passion, yet it is so so true. Especially in distributed systems, gotta live with it.