Php 类别';子类';找不到
我对PHP的对象继承有问题: 我有两个文件,baseclass.php和subclass.php,这样Php 类别';子类';找不到,php,oop,Php,Oop,我对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"; } } 然而,我得到的是 In bas
//baseclass.php
<?php
echo "In baseclass.php\n";
class BaseClass {
function __construct () {
echo "In BaseClass constructor\n";
$this->id = "NOT IMPLEMENTED";
}
}
然而,我得到的是
In baseclass
In subclass
Fatal error: Class 'SubClass' not found in (...) on line 6
使用requires或includes都会产生相同的结果。
也就是说,如果我将基类和子类放在同一个文件中,结果与预期的一样。这让我相信,在PHP中,您无法扩展在另一个文件夹中定义的类,这似乎很奇怪。有办法解决这个问题吗?您需要首先定义类,然后调用它:
class SubClass extends BaseClass {
function __construct () {
echo "In the SubClass constructor\n";
parent::__constructor();
}
}
$elt = new SubClass();
echo $elt->id;
有没有办法绕过这个问题?我的类定义会很长,我不喜欢把我的逻辑放在文件的底部。谢谢在单独的文件中定义每个类怎么样。把它们包括在你的逻辑文件里?你也可以退房
In baseclass
In subclass
Fatal error: Class 'SubClass' not found in (...) on line 6
class SubClass extends BaseClass {
function __construct () {
echo "In the SubClass constructor\n";
parent::__constructor();
}
}
$elt = new SubClass();
echo $elt->id;