Po wielu szczęśliwych latach kodowania w notatniku ++ i wysublimowanym, doradzono mi, abym spróbował PHP IDE. Wypróbowuję phpStorm i wydaje mi się to fajne. Uzupełnianie kodu i dokumentacja to świetna funkcja, ale nie działa, gdy używane są magiczne metody. Czy jest jakaś praca, aby phpStorm zrozumiał, co się dzieje w magicznych metodach?
Nasza sytuacja wygląda mniej więcej tak:
abstract class a {
public static function __callStatic($method,$args)
{
if(strpos($method,"get_by_") === 0)
{
//do stuff
} elseif(strpos($method,"get_first_by_") === 0) {
//do stuff
} elseif($method == "get_all") {
//do stuff
}
}
}
class b extends a {
// some more stuff
}
b::get_by_user_id(27);
b::get_first_by_id(156);
b::get_all();
Magiczna metoda callStatic pozwala nam pobrać kolekcję obiektów za pomocą 1 lub więcej argumentów, które składają się na wywołanie funkcji.
Widzę, że w takich przypadkach istnieje instrukcja @method, ale phpStorm przechwytuje tylko pierwsze z tych instrukcji. Ponadto mogę ustawić zwracany typ tylko na mieszany, ponieważ wolałbym móc ustawić go jako dowolną klasę, do której została wywołana (b w moim przykładzie).
Wszelkie pomysły lub sugestie będą bardzo wdzięczne, dzięki.
_call
TO DOBRY POMYSŁ? !!