In PHPStorm, wie kann ich Typhinweise verwenden, wenn ich eine Superklasse-Methode habe, die für jede Unterklasse einen anderen Typ zurückgibt
Ich habe eine Klasse, die von einer Superklasse erbt und bei der die Superklasse ein statisches @ hafind()
Methode, die Instanzen der Unterklasse instanziiert (aktives Datensatzmuster).
class ActiveRecordClass {
/**
* @return mixed
*/
public static function find() {
// Code returns instance of called class
}
}
class ModelClass extends ActiveRecordClass {
}
// returns instance of ModelClass, but PHPStorm doesn't realise
ModelClass::find($model_id);
Im Moment ist der docblock nicht sehr gut für die Code-Vervollständigung und Tipping. Ich kann die Superklasse nicht als Rückgabetyp verwenden, da die Unterklassen aufgrund von DB-Spalten unterschiedliche Methoden haben.
Wie kann ich PHPStorm mitteilen, dass die Superklassefind()
ie @ -Methode gibt eine Instanz der Unterklasse zurück, von der sie aufgerufen wurde, sodass die Code-Vervollständigung funktionier