Re: [RFC] [VOTE] Replace "Missing argument" warning with"Too few arguments" exception
| From: | Christoph Becker | Date: | Mon, 06 Jun 2016 13:38:37 +0000 |
| Subject: | Re: [RFC] [VOTE] Replace "Missing argument" warning with"Too few arguments" exception | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-93845@lists.php.net to get a copy of this message | ||
Rowan Collins wrote:
> On 06/06/2016 08:22, Dmitry Stogov wrote:
>
>> This mini RFC has been moved to "Voting" state. Voting
>> began on Jun 6 and will close on June 16.
>>
>> You can find the full RFC at:
>> https://wiki.php.net/rfc/too_few_args
>>
>> I encourage everyone to read the RFC and cast your vote towards whichever
>> option you feel is the best for the language and the community.
>
> I don't have a vote, but if I did I would vote against making this
> change in a minor release.
>
> The release process RFC [1] says that for a release such as 7.1
> "Backward compatibility must be kept". This RFC gives no justification
> for being an exception to this rule, simply acknowledging that it is a
> deliberate break in compatibility.
In my opinion it would be good to more explicitly clarify what
constitutes an unacceptable BC break. Bug fixes are allowed, but even
those sometimes cause a BC break (as a programmer may rely on the buggy
behavior). After all, to me it comes down to whether a certain behavior
is documented – if it is not documented a user should not rely on it.
While I have not been able to find the behavior described in the PHP
manual, it is explicitly specified in the PHP language specification[2]:
| Otherwise, if the parameter has no corresponding argument and the
| parameter does not have a default value, the parameter variable is
| non-existent and no corresponding VSlot exists.
> It's a shame it didn't make it for 7.0, but in my opinion, this should
> now wait for 8.0.
I'm afraid I have to agree.
> [1] https://wiki.php.net/rfc/releaseprocess
[2]
<https://github.com/php/php-langspec/blob/PHP-7.0/spec/13-functions.md#user-content-function-definitions>
--
Christoph M. Becker