Mam klasę, która dziedziczy z nadklasy i gdzie nadklasa ma statyczną metodę find()
, która tworzy wystąpienia instancji podklasa (aktywny wzór rekordu).W PHPStorm, w jaki sposób można utworzyć podpowiedź typu, gdy mam metodę nadklasy, która zwraca inny typ z każdej podklasy
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);
W tej chwili docblock nie jest zbyt dobry do uzupełniania kodu i podpowiedzi do typu. Nie mogę używać nadklasy jako typu zwracanego, ponieważ podklasy mają różne metody z powodu kolumn DB.
W jaki sposób mogę wskazać PHPStorm, że metoda klasy nadrzędnej find()
zwraca instancję podklasy, z której jest wywoływana, aby działanie kodu zakończyło się?
Użyj '@ method' w swoim' ModelClass', aby ponownie zadeklarować macierzystą metodę 'find()' z wymaganym podpisem. – LazyOne