我有问题。基本上我想要di是使用静态构造函数返回一个实例化的对象,并将参数传递给这个静态函数(它就像一个构造函数)。
所以我想做的是:
$urls = Urls::st__construct("wp_","fk_arv_");
$main = ClassName::st__construct("wp_","fk_arv_");
和:
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,因为我通过扩展类调用静态方法(它应该从它的父类继承静态方法)。但是,它试图返回一个新的实体(当然失败了)。我怎样才能正确地做到这一点?