From:             [EMAIL PROTECTED]
Operating system: Debian/Linux
PHP version:      4.0.5
PHP Bug Type:     Scripting Engine problem
Bug description:  classes and includes

First, my stripped down code that works:
<?
class a {
    function make($params) {
    }
}
class b extends a {
    function make() {
        echo "WORKS OK";
    }
}
class c extends b {
    function make($params) {
        parent::make();
    }
}
class d extends c {
    function make($params) {
        parent::make($params);
    }
}

$d = new d();
$d->make("whatever");
?>

now, when i remove the definition of class 'a' to another file and include
the file like this:

file1.php:

<?
class a {
    function make($params) {
    }
}
?>

file2.php:

<?
include "./file1.php"; // or require - no difference

class b extends a {
  function make() {
   echo "WORKS OK";
  }
}

class c extends b {
 function make($params) { // this gets called forever !!!! and generating
warnings
    parent::make();
  }
}

class d extends c {
 function make($params) {
   parent::make($params);
  }
}

$d = new d();
$d->make("whatever");
?>

then i get message 'Warning: Missing argument 1 for make()' ... the code is same ... 
but working differently. at least with my php 4.0.5. so i think this is a bug.


-- 
Edit Bug report at: http://bugs.php.net/?id=11589&edit=1



-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to