[EMAIL PROTECTED]:~/devel/php/tests > cat inheritance.php <?php class Foo { function __construct($foo) { } }
class Bar extends Foo { function __construct($foo, $bar) { // Add = NULL after $bar to make it work } } ?> [EMAIL PROTECTED]:~/devel/php/tests > php-dev inheritance.php
Fatal error: Declaration of Bar::__construct() must be compatible with that of Foo::__construct() in /usr/home/thekid/devel/php/tests/inheritance.php on line 10
Is this really necessary?
Guys,
You are breaking the isA relationship. We fixed this so that from now on, people will not make such mistakes anymore (I think it's the right way to go, so that we don't leave broken functionality around).
You can enable compatibility mode to make this work or specify a default value (as you saw) for $bar so that you are keeping the interface of the base class.
Andi
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php