== Quote from Andi Gutmans ([EMAIL PROTECTED])'s article > a) Don't check signature for constructors.
Constructors are definitely not virtual methods. So no reason to check signature. Moreover, this is a non sense to declare constructors in interfaces or abstract constructors in abstract classes. > b) By default, don't check signature for inheritance *if* we're not > inheriting from an abstract class. If it is an abstract class we should > check the signature because it's a PHP 5 feature. I assume "abstract class" includes interfaces. > c) Add a new INI option (zend.strict_inheritance_checks) which does check > signature for methods (except for constructor). I don't like new INI > options but I don't think there's any way out. Because we could discover some other compatibility problems when moving to PHP5, what about an INI option using flags, same as error_reporting. For exemple zend.php5_compat and one of it's flag NO_STRICT_INHERITANCE. Another flag could be SET_CLONE to have "$obj2 = $obj;" or "foo($obj);" compatible with PHP4 (a clone rather than a reference). Indeed I think there will be some side effects when executing some PHP4 code under PHP5. Regards, Stephane -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php