I tried to, but I honestly can't see the problem. No decent programmer
makes error by sending wrong type of parameter and this feature is 100%
optional. I know for sure that even in my dev computer, I would use this
feature, and probably most programmers aware of the issue.

Maybe simpler example: if I send a string to above function, the only
difference is that PHP would start executing inner code. But an inner line
like $user->getEmail() would still throw fatal error, still very easy to
spot.

But again, I really don't see that happening and I am not an expert. And I
still never make errors like that, not even when I was learning php. And if
dev computer keeps checking type (default), it is very easy to spot a big
mistake like that.

Given this is open discussion, I would like to see where I was wrong.

Btw, you were not harsh at all.


On Mon, Jul 16, 2018 at 8:01 AM Arvids Godjuks <arvids.godj...@gmail.com>
wrote:

> On Sun, Jul 15, 2018, 22:45 Zeljko Mitic <mitke...@gmail.com> wrote:
>
>> PHP is dynamic language and each typed typehinted parameter has to be
>> checked every time. I am suggesting new php.ini value "typecheck.enable =
>> 1" which can be turned off.
>>
>> Example:
>> with default php config, a code like this would check each member of
>> $users
>> array:
>>
>> function demo(User ...$users) {}
>>
>> but with "typecheck.enable = 0", same code would be treated like it was
>> written this way:
>>
>> function demo(...$users) {}
>>
>> Basically, php would simply *ignore* typehints and work like they are not
>> there.
>>
>> It would be programmers responsibility to send correct values but people
>> using typehints are not those still learning the basics.
>>
>> Just like it is programmers responsibility to restart php-fpm when using
>> opcache.validate=0, it would be theirs responsibility to send correct
>> values. Any decent IDE would mark errors for wrong parameter type and with
>> tools like phpstan, it is almost impossible to make one. Only development
>> computers would need to have this checks turned on.
>>
>> This creates no BC problems as it is a new feature. Given that typechecks
>> can be turned off, all existing programs would benefit from extra speed.
>>
>> I am sending this mail by following rules from
>> https://wiki.php.net/rfc/howto . I don't have any knowledge of php
>> internals so unfortunatelly, I can't help with this. I at least hope
>> someone will take this RFC into consideration.
>>
>
> Hello,
>
> php.ini settings that modify language behaviour on such large scale are
> not up for introduction or even discussion.
> PHP has been getting rid of those past 10 years, so forgive me for
> harshness, but as a user land developer I say "no chance In hell".
>
> Arvids,
>
>>

Reply via email to