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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage