我遇到了问题。基本上我想要的是使用静态构造函数来返回一个instaniated对象,其中传递给这个静态函数的参数(它就像一个构造函数)。
所以我想做的是:
$urls = Urls::st__construct("wp_","fk_arv_");
$main = ClassName::st__construct("wp_","fk_arv_");
with:
abstract class Entity
{
...
public static function st__construct($table_prefix,$key_prefix){
return new self($table_prefix,$key_prefix);
}
function __construct($table_prefix,$key_prefix) {
$this->table_prefix = $table_prefix;
$this->key_prefix = $key_prefix;
}
}
类Url和ClassName都扩展了Entity。我希望'self'返回Url或ClassName,因为我通过扩展类调用静态方法(它应该从它的父级继承静态方法)。但是,它试图返回一个新的实体(当然失败了)。我该怎么做呢?