On Fri, 2008-01-04 at 12:48 -0500, Robert Cummings wrote: > On Fri, 2008-01-04 at 12:41 -0500, Sam Barrow wrote: > > On Fri, 2008-01-04 at 12:37 -0500, Robert Cummings wrote: > > > On Fri, 2008-01-04 at 18:23 +0100, Pierre wrote: > > > > On Jan 4, 2008 6:20 PM, Marcus Boerger <[EMAIL PROTECTED]> wrote: > > > > > Hello Pierre, > > > > > > > > > > we never accepted this as a pro argument. Infact we often saw the > > > > > necessaity to highlight something is optional to vote against it. We > > > > > do this > > > > > for a reason. That is we only want to support mainstream features. > > > > > > > > My point of view is that this feature should be a mainstream feature. > > > > To make it optional was to lower the issues for those who don't care > > > > about argument strictness. We did not give them this choice for the OO > > > > strictness. > > > > > > IMHO, optionally inclusion of type hinting for functions/methods can > > > only be a boon to code quality and readability. IMHO when a type hint is > > > provided and a parameter doesn't match the type hint then I think a > > > fatal error should occur. This forces the user of the function that has > > > type hinting to ensure their data is of the correct type. This prevents > > > accidental wrong data conversion. However, I see the other side of the > > > coin too where automatic type conversion could be desirable also. > > > Perhaps a mixed solution would be viable? > > > > > > > I don't think conversion would make sense here, as PHP will > > automatically convert the variable before you use it anyway. Hinting > > will prevent mistakes, conversion will just try to ignore them, which is > > what PHP does already. > > I think that depends on what I do with the variable. PHP doesn't know > how I intend to use it, and if I know I want an int and I don't want to > test for browserland garbage in my variable everytime the function is > called, then an automatic type conversion to int for my function can > make perfect sense. Yes, I could force the developer using my function > to cast the parameter as an int, but I'm certain conversion in the > engine without a userland cast is faster, and it makes it more > convenient to the consumer of my function since they can still treat it > like a classic function.
Yes, but whatever you do with it (echo, store in db, etc.) PHP will perform its default conversion routine for the variable type. You have a point though, this is something that I've actually been debating for some time: function a(int $a, cast int $b) { } $a must be an int $b will be cast to an int I just think this is getting a little bit too complicated. Many people on here are resistant enough to scalar type hinting because they say it's confusing, they'll definitely be even more resistant to something like this. > Cheers, > Rob. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php