Nach vielen glücklichen Jahren des Codierens in Notepad ++ und Sublime wurde mir geraten, eine PHP-IDE auszuprobieren. Ich probiere phpStorm aus und es scheint schön. Die Vervollständigung und Dokumentation des Codes ist eine großartige Funktion, funktioniert aber für mich nicht, wenn magische Methoden verwendet werden. Gibt es eine Lösung, um phpStorm dazu zu bringen, zu verstehen, was in magischen Methoden vor sich geht?
Unsere Situation ist ungefähr so:
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();
Mit der magischen callStatic-Methode können wir eine Sammlung von Objekten über ein oder mehrere Argumente abrufen, aus denen der Funktionsaufruf besteht.
Ich sehe, dass es in diesen Fällen eine @ method-Anweisung gibt, aber phpStorm greift nur die erste dieser Anweisungen auf. Außerdem kann ich den Rückgabetyp nur dann auf gemischt setzen, wenn ich es vorziehen würde, ihn als die Klasse festzulegen, für die dies aufgerufen wurde (b in meinem Beispiel).
Alle Ideen oder Vorschläge würden sehr dankbar aufgenommen, danke.
_call
ist eine gute Idee? !!