#19312 [Opn->Dup]: Problem on class heritance / class definition order

From: 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

« previous php.bugs (#18788) next »