Re: date() behaviour changed in 5.1?
| From: | Jani Taskinen | 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: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.Pierre wrote:On Tue, 15 Nov 2005 18:59:32 +0200 (EET) sniper@iki.fi (Jani Taskinen) wrote: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.PHP is losely typed, I see nothing wrong to pass an integer as string there (for example, imagecreate("100", "100"); works).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..)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 bet this isn't only thing that's changing. But you really can't get an
omelette without breaking some eggs, can you? :)
--Jani