abstract class db_table {
static function get_all_rows() {
...
while(...) {
$rows[] = new self();
...
}
return $rows;
}
}
class user extends db_table {
}
$rows = user::get_all_rows();
我想从抽象父类中定义的静态方法创建一个类的实例,但PHP告诉我:“致命错误的静态函数创建一个新的实例:不能实例化抽象类.. 。“我应该如何正确实施?在抽象类
编辑:当然,我想在这种情况下创建类“用户”的实例,而不是抽象类。所以我必须告诉它创建一个被调用的子类的实例。
谢谢!工作很好。 – arno 2010-05-20 12:42:51
提示:可以使用以下代码在PHP <5.3中模拟get_called_class:http://www.php.net/manual/en/function.get-called-class.php#93799 – arno 2010-05-20 12:46:59