In Bezug auf diesen Beitrag:
hier handelt es sich um einen Randfall in PHPStorm Typ Hinting. Bitte versuchen Sie mitzukommen - ich werde mein Bestes tun, um so klar wie möglich zu sein:
Also, ich habe diese Basis abstrakte Klasse:
%Vor%, von dem eine andere Klasse erbt:
%Vor%und was noch um eine dritte Klasse erweitert wird:
%Vor%Im Folgenden finden Sie ein Beispiel für die myModel-Klasse:
%Vor%Meine wahre Frage ist, wie man dieses Szenario richtig "phpdoc":
Eine Unterklasse myNewController
verwendet eine geerbte Variable _model
, um eine Instanz einer anderen Klasse myModel
zuzuweisen, die eine eindeutige Funktion form
hat. Wie sollte PHPSstorm über form
in myNewController
richtig herausfinden?
Meine bisherige Lösung beinhaltet die Dokumentation von myBaseController
wie folgt:
Ich denke jedoch, dass @var object
zu breit ist (PHPStorm wird seine Deklaration nicht finden) und meine Vermutung ist, dass es einen besseren (und spezifischeren) Weg geben sollte, dies zu tun.
Vielleicht könnten wir stattdessen tun:
%Vor%wenn PHPStorm eine Möglichkeit hatte, in die Unterklassen für die Methode zu schauen.
Irgendwelche Ideen? Vielen Dank im Voraus.
Sie können den Eigenschaftstyp in Ihrer Unterklasse angeben, ohne neuen Code einzufügen, indem Sie die @property
Annotation verwenden:
Obwohl vielleicht nicht die beste Praxis, wird diese sicherlich für Sie arbeiten.
Sie können das Element _model
in der Unterklasse "überschreiben" und es in der Unterklasse von BaseModel dokumentieren.
Um die Rückgabe der Klassenmethode zu dokumentieren, verwenden Sie return $this
; return static
funktioniert auch