PHP 4.0 Bug #8565 Updated: parent:: only works when both classes in the same file.
| From: | jalal@php.net | Date: | Fri, 05 Jan 2001 19:37:23 +0000 |
| Subject: | PHP 4.0 Bug #8565 Updated: parent:: only works when both classes in the same file. | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-43075@lists.php.net to get a copy of this message | ||
ID: 8565
User Update by: jalal@php.net
Old-Status: Feedback
Status: Open
Bug Type: Scripting Engine problem
Description: parent:: only works when both classes in the same file.
The following code gives the error:
file: base.inc
<?php
class Base {
function Base(){}
function doit() {
echo "Class Base->doit()\n";
}
}
?>
file: a.inc
<?php
include("base.inc");
class A extends Base {
function A(){}
function doit() {
parent::doit();
echo "Class A->doit()\n";
}
}
?>
file: extend-test.php
<?php
include("a.inc");
$a = new A();
$a->doit();
?>
x:>php -f extend-test.php
Fatal error: No parent class available in this context in a.inc on line 6
Previous Comments:
---------------------------------------------------------------------------
[2001-01-05 12:42:19] hholzgra@php.net
sorry, but i can't believe this as i
use this feature almost daily
can you pleas provide an example of
code _not_ working ?
---------------------------------------------------------------------------
[2001-01-05 12:22:36] jalal@php.net
the parent:: operator will work if both the parent and sub class are in the same physical file, but
not if they are in a separate file.
This works:
<?php
class Base {
function doit() {
echo "Class Base->doit()n";
}
}
class A extends Base {
function doit() {
parent::doit();
echo "Class A->doit()n";
}
}
?>
but if the two classes are in separate files, the following error is reported:
Fatal error: No parent class available in this context in a.inc on line 6
Of course, this may be an undocumented feature, but I can see no reason for it.
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=8565