我在PHP的对象继承方面遇到了问题:
我有两个文件,baseclass.php和subclass.php
//baseclass.php
<?php
echo "In baseclass.php\n";
class BaseClass {
function __construct () {
echo "In BaseClass constructor\n";
$this->id = "NOT IMPLEMENTED";
}
}和
//subclass.php
<?php
require_once("PATH/baseclass.php");
echo "In subclass.php\n";
$elt = new SubClass();
echo $elt->id;
class SubClass extends BaseClass {
function __construct () {
echo "In the SubClass constructor\n";
parent::__constructor();
}
}我的预期结果是:
In baseclass
In subclass
In BaseClass constructor
In the SubClass constructor
NOT IMPLEMENTED然而,我得到的却是
In baseclass
In subclass
Fatal error: Class 'SubClass' not found in (...) on line 6使用要求或包含相同结果的结果。尽管如此,如果我将BaseClass和SubClass放在同一个文件中,结果将与预期的一样。这将使我相信,在PHP中,您不能扩展在另一个文件夹中定义的类,这似乎很奇怪。有办法绕道吗?
发布于 2014-04-03 20:30:15
首先需要定义类,然后调用它:
class SubClass extends BaseClass {
function __construct () {
echo "In the SubClass constructor\n";
parent::__constructor();
}
}
$elt = new SubClass();
echo $elt->id;https://stackoverflow.com/questions/22848317
复制相似问题