Hello Sean, Wednesday, September 21, 2005, 4:54:31 PM, you wrote:
> Hello all, > This crept up as the result of a bug report (not mine -- > http://bugs.php.net/34494), and a small discussion on IRC: > Why does an E_STRICT get raised when extending a class, and altering the > method's proto defaults? I understand why it would be thrown when > adding/changing parameters, but why when simply changing $foo to $foo=1 ? > Honest question -- I'm not trying to change the behavior, here. It > doesn't seem "correct" to me, but I look forward to an explanation that > I've simply overlooked. > S [EMAIL PROTECTED] /usr/src/PHP_5_1 $ php -r 'class T{function f($x){}} class U extends T{function f($x=2){}}' make: `sapi/cli/php' is up to date. Strict Standards: Declaration of U::f() should be compatible with that of T::f() in Command line code on line 1 [EMAIL PROTECTED] /usr/src/PHP_5_1 $ php -r 'class T{function f($x=1){}} class U extends T{function f($x=2){}}' make: `sapi/cli/php' is up to date. The above shows php is correct here. Best regards, Marcus -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php