On Wed, 2004-02-25 at 23:44, Marcus Boerger wrote:
> Hello Timm,
> 
> i had the same expirience today too. And also for me it makes not much
> sense. The constructor shouldn't check inheritance rules.

Neither should other methods follow this. What if I want to add a
non-default parameter to an overriden method?

<?php
  class Foo {
    function connect($server) {
    }
  }
  
  class Bar extends Foo {
    function connect($server, $port) {
    }
  }
?>

I see where the problem comes from:

zend_do_perform_implementation_check() is called from
do_inherit_method_check() (both in zend_compile.c) which in turn is
called for inheritance *and* for interfaces. The behaviour is fully
desirable when implementing interfaces but not for regular inheritance.

- Timm

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to