I would personally be inclined towards something simpler like E_NOTICE or E_WARNING, but current type hints all raise E_RECOVERABLE_ERROR. I think we should be consistent, and the consistency argument may make the difference.
There may be a strong case for changing the error level on all type hints to something simpler (or new, like E_TYPE), but I think that might be better to tackle that in a separate discussion. John Crenshaw Priacta, Inc. From: Kris Craig [mailto:kris.cr...@gmail.com] Sent: Tuesday, February 28, 2012 8:40 PM To: John Crenshaw Cc: Rick WIdmer; internals@lists.php.net Subject: Re: [PHP-DEV] Scalar type hinting I wouldn't mind that, though I'm concerned that it may not be sellable because some people on here have expressed a strong opinion that this shouldn't throw anything more than a notice or a warning at most, something that I and others strongly disagree with. The logical approach, to me at least, is to follow the example of include() and require(); i.e. they're both identical except that one throws a scary error while the other one is just a warning. I'm fine with just throwing E_RECOVERABLE_ERROR, though I fear that may alienate too many people for us to be able to get this through. Though it's possible I might be overestimating that factor. --Kris On Tue, Feb 28, 2012 at 5:17 PM, John Crenshaw <johncrens...@priacta.com<mailto:johncrens...@priacta.com>> wrote: > On Tue, Feb 28, 2012 at 3:03 PM, Rick WIdmer > <vch...@developersdesk.com<mailto:vch...@developersdesk.com>>wrote: > > > On 2/28/2012 2:58 PM, Kris Craig wrote: > > > > strong int $a = "1"; // Converts to 1. May or may not throw an error > > (I'm > >> still on the fence). > >> > > > > It this is an error, it is no longer PHP. > > > > @Rick Though I'm not sure I'd agree with the overly broad "it is no longer > PHP" hyperbole, I think the basic point that it would be a significant > departure from the current model has merit. So ok, you've convinced me. That example should not throw any errors. I'm officially no longer on the fence with that. =) > > --Kris OK, if we're all on the same page there, I think this means that there is no significant difference between the "strong int" and "weak int" in your proposal (the only remaining difference being the level of error raised when it cannot be converted, which IMO is not substantial enough to deserve a keyword.) I'd prefer to just pick one error level to use (E_RECOVERABLE_ERROR would be the most consistent) and keep everything simple. John Crenshaw Priacta, Inc.