W PHPStorm mogę wpisać-wskazówkę zmienną w ten sposób:Typehint dziedziczone zmiennych klasy w PHPStorm
/** @var Point $point */
$point->x();
jednak powiedzieć odziedziczyłem zmienną z klasy nadrzędnej, a chcesz typu podpowiedzi go :
class PointProxy extends Proxy
{
public function x()
{
...
/** @var Point $this->geometry */
return $this->geometry->x();
}
}
ten nie działa, PHPStorm działa jakbym typu zasugerował $this
i nie $this->geometry
.
Czy istnieje sposób, aby taką pracę typu podpowiedzi bez redeclaring właściwość $geometry
w podklasie, czy jest to nieobsługiwane?
Nie można używać takiego PHPDoc dla obiektów złożonych (2. poziom w hierarchii) - tylko pierwszy poziom. Ten '/ ** @var Point $ this-> geometry * /' nie ma sensu .. jako komentarz PHPDoc zostanie zastosowany tylko do pierwszego poziomu ('$ this' w tym przypadku). Teraz możesz spróbować zadeklarować to za pomocą '@ property' w komentarzu PHPDoc dla klasy - powinno to mieć sens tylko wtedy, gdy jest to własność publiczna, a nie prywatna/chroniona. – LazyOne
Jeśli to możliwe, właściwość powinna być podana w klasie nadrzędnej; powinno to rozprzestrzeniać się do klas potomnych. – deceze
@deceze It * to * typ-podpowiedź w klasie nadrzędnej, ale jako "Geometria". Klasa potomna powinna udokumentować, że jest w rzeczywistości "Punktem", potomkiem "Geometrii". – Benjamin