On Mon, Jul 16, 2018 at 12:56 PM Zeljko Mitic <mitke...@gmail.com> wrote:
> 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, >> > I am sorry for last message; I know I should have put my response at bottom, but I missclicked in gmail. I wrote the message, remembered the rules and instead of revealing quoted text, I clicked on "send".