問題が発生しています。基本的に私がしたいのは、静的コンストラクターを使用して、この静的関数 (コンストラクターのように機能する) に渡されたパラメーターを持つインスタンス化されたオブジェクトを返すことです。
だから私がやりたいことは次のとおりです。
$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 を返すことを期待していました。ただし、新しいエンティティを返そうとしています (もちろん失敗します)。どうすればこれを適切に行うことができますか?