我有 3 个 PHP 类:抽象 DBObject,组织扩展 DBObject,大学扩展 DBObject。
加载对象最终会得到来自数据库的数据数组。每个构造函数都知道如何从该数组构建自己,所以我尝试了这个:
abstract class DBObject {
...
public static function load($id) {
return new self(self::loader($id));
}
}
self::loader($id) 正确获取数组。我可以使函数 load() 抽象并将这段代码复制并粘贴到每个孩子中,但我希望有一种方法可以完成上述操作。当前的错误是:
PHP Fatal error: Cannot instantiate abstract class DBObject in /var/www/htdocs/classes/DBObject.php on line 16