私は3つのPHPクラスを持っています.abstract DBObject、Organization extends DBObject、University extends DBObjectです。
オブジェクトをロードすると、DB からのデータの配列が得られます。各コンストラクターは、その配列から自分自身を構築する方法を知っているので、これを試しました:
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