#19312 [Opn->Dup]: Problem on class heritance / class definition order
| From: | scallop at iki dot fi | Date: | Mon, 09 Sep 2002 13:56:15 +0000 |
| Subject: | #19312 [Opn->Dup]: Problem on class heritance / class definition order | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-18788@lists.php.net to get a copy of this message | ||
ID: 19312
User updated by: scallop@iki.fi
Reported By: scallop@iki.fi
-Status: Open
+Status: Duplicate
Bug Type: Scripting Engine problem
Operating System: Linux / Solaris
PHP Version: 4.2.3
New Comment:
I just noticed (sorry, tried before but couldn't find any reports) that
this issue has been discussed before in bug 6418.
Placing my comments in there ..
Previous Comments:
------------------------------------------------------------------------
[2002-09-09 07:23:07] scallop@iki.fi
Consider the following code:
<?php
class C extends B { }
class B extends A { }
class A { }
?>
The code above produces a fatal error:
"Cannot inherit from undefined class b"
According to Jani (quote from bug #13165),
"Classes must be defined in order. They can
be in different order if they are in same file
though."
It seems to me that the order of class declarations
doesn't matter as long as they are in the same
file AND there are only two levels of inheritance
(child extends parent). In this example, there are
three levels of inheritance (child extends parent
extends superclass) and in this case, the order
of class definitions DOES matter.
I realize there is a simple workaround by
changing the order of these class declarations.
This is just fine in simple cases like above
but in a very complex class hierarchy this is
a real problem.
Tested on:
- 4.1.2 (installed as apache module, SunOS 5.8,
Apache 1.3.26)
- 4.2.3 (installed as apache module, Red Hat 7.1,
Apache 1.3.22)
- 4.3.0 alpha2 (ZE 2? installed as apache module,
Red Hat 7.1, Apache 1.3.22)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=19312&edit=1