Am 06.08.2024, 09:43:21 schrieb Benjamin Außenhofer <kont...@beberlei.de>:

>
>
> Am 30.07.2024, 11:49:52 schrieb Gina P. Banyard <intern...@gpb.moe>:
>
>> Hello Internals,
>>
>> 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.
>>
>> Best regards,
>>
>> Gina P. Banyard
>>
>
> Hi Gina,
>
> I was ambivalent to this before, but after reading the discussion, voted
> no for two reasons:
>
>
>    - exit without parenthesis s still not a function, that does not makes
>    handling this on extension level (tools, profilers) more reliable, instead
>    more confusing. I don’t mind the work this might cause for an extension, so
>    i don’t join Christoph’s and Derick’s argument here that this a break for
>    extensions that disqualifies the change.
>
>
Tim pointed out to me that my argument here is wrong, since exit; will be
transformed to exit() at compile time, I did not read this from my first
read-through of the RFC, but now I see it in the text. So this point does
not hold anymore.


>    - If it still does not allow me to set exit as disabled_functions,
>    then this creates an inconsistency
>
>
That left me wondering why disabled_functions does not work, and I see the
PR adds a special case for both functions. So disabling them „could“
potentially work.


> I also have a question: From a userland perspective, it looks it creates
> inconsistency calling exit with global namespace prefix, depending on
> parenthesis or? \exit(); will now work, but \exit; will not?
>
> Also if https://github.com/php/php-src/pull/4084 taught me anything,
> trying to add eval support for disabled_functions, then maybe we should
> throw warnings instead when using that ini setting to disable op codes,
> instead of silently ignoring that this won’t work.
>

Reply via email to