On Tue, 15 Nov 2005, Rasmus Lerdorf wrote:
>
> Jani Taskinen wrote:
>> On Tue, 15 Nov 2005, Rasmus Lerdorf wrote:
>>
>>>
>>> Pierre wrote:
>>>> On Tue, 15 Nov 2005 18:59:32 +0200 (EET)
>>>> sniper@iki.fi (Jani Taskinen) wrote:
>>>>
>>>>> If you pass bad data to a function, it should not warn you?
>>>>> I'd rather have it as a FATAL error. :)
>>>>>
>>>>> Nothing to fix here, move along. (and fix your code..)
>>>>
>>>> PHP is losely typed, I see nothing wrong to pass an integer as string
>>>> there (for example, imagecreate("100", "100"); works).
>>>
>>> The question isn't what to do with "100","100" but what to do with
>>> "100abc","100abc". Should that still work? The old zend_get_parameters()
>>> following by a convert_to_long() says Yes. The newer
>>> zend_parse_parameters() says no.
>>
>> With new version it's possible to catch such typos, with old one they'd
>> just be silently ignored and perhaps could cause very hard to find bugs
>> in your code..
>
> I suppose, but I still find it weird that:
>
> date("h", (int)$foo);
>
> and
>
> date("h", $foo);
>
> will behave differently when $foo isn't a clean numeric string. And when we
> move 100% to zend_parse_parameters() in PHP 6 there will be many more
> functions changing their behaviour due to this.
I bet this isn't only thing that's changing. But you really can't get an
omelette without breaking some eggs, can you? :)
--Jani