|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2002-09-09 08:56 UTC] scallop at iki dot fi
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Dec 03 18:00:01 2025 UTC |
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)