Re: date() behaviour changed in 5.1?

From: Date: Tue, 15 Nov 2005 17:35:35 +0000
Subject: Re: date() behaviour changed in 5.1?
References: 1 2 3 4 5 6  Groups: php.internals 
Request: Send a blank email to internals+get-20021@lists.php.net to get a copy of this message
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


« previous php.internals (#20021) next »