Hi Gina!

On 30.07.2024 at 11:49, Gina P. Banyard wrote:

> I have just opened the vote for the "Transform exit() from a language 
> construct into a standard function" RFC:
> https://wiki.php.net/rfc/exit-as-function
>
> The vote will last for two weeks until the 13th of August 2024.

As userland PHP developer, I always regarded `exit` as a control flow
instruction (quite similar to `break`), and as such I'm not really in
favor of converting it to a proper function (especially since it is not,
because the parantheses could be omitted).

Would that RFC imply that I would need to write `\exit` or have a `use
exit` clause to avoid dynamic namespace lookup?  If so, I would be even
less in favor of that change.

I do understand your point about the type juggling semantics, but I
might have addressed that differently.  I almost always use `exit`
without argument (and if, only with an int), and `die` always with a
string (and only for quick experiments), and I figure that this might be
what most contemporary code does (at least, I hope that the
`do_something() or die()` times have long gone).  As such, having `exit`
and `die` as alias could be changed, sticking with `exit` as a control
flow instruction, and having `die` as proper function (which could even
be implemented in userland), where exit would allow an optional int
argument (like `break`), and die() a required string argument.  Of
course, this would be a much bigger BC break, but it seems to me the
cleaner solution.

Cheers,
Christoph

Reply via email to