RE: [PHP-DEV] PHP Philosophy (was RE: [PHP-DEV] Scalar type hinting)
| From: | John Crenshaw | Date: | Thu, 01 Mar 2012 08:46:56 +0000 |
| Subject: | RE: [PHP-DEV] PHP Philosophy (was RE: [PHP-DEV] Scalar type hinting) | ||
| References: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-58391@lists.php.net to get a copy of this message | ||
> From: Richard Lynch [mailto:ceo@l-i-e.com]
> On Wed, February 29, 2012 7:16 pm, John Crenshaw wrote:
> > I'm beginning to think that the type hinting question is too closely
> > related to the dirty secrets of type juggling to resolve them
> > separately. You may have to either discard consistency, or else fix
> > the problem of silent bizarre conversions at the same time ('foo'==0,
> > '123abc'=123). Fixing the conversions is a BC break though.
>
> [short version]
> One man's "fixing" is another man's "feature" :-)
>
> Old hands can now hit delete while I wax philosophical.
The operative word was "silent". The actual behavior is fine, but the silence is
unexpected. For example, PHP happily accepts substr('foo', 'bar') with no
complaint at all. From a purely philosophical perspective I think almost everyone would expect *at
least* a strict notice.
On a practical level, we have a major barrier and we'll have to decide how to handle it. As I
see it we could do one of the following:
1. Discard consistency (!!)
2. Try to convince people to make these bizarre conversions not silent (BC break)
3. Try to find a creative solution to be consistent without changing anything about the conversion
behavior. (I'm not seeing a way to do this one, unless we redefine "consistent".)
John Crenshaw
Priacta, Inc.