sınıf değişkenleri miras : Ben $this
değil $this->geometry
tip ima sanki bu işe yaramazsaTypehint ben yazdıkça-ipucu olabilir bir değişken bu şekilde, PhpStorm yılında PhpStorm
class PointProxy extends Proxy
{
public function x()
{
...
/** @var Point $this->geometry */
return $this->geometry->x();
}
}
, PhpStorm davranır.
alt sınıfta yılında $geometry
özelliğini redeclaring olmadan böyle bir tip ipucu çalışması yapmanın bir yolu var mı veya bu desteklenmiyor?
Böyle bir PHPDoc'u karmaşık (ikinci düzey hiyerarşi) nesneleri için kullanamazsınız - yalnızca birinci düzey. Bu '/ ** @var Noktası $ this-> geometri * /' anlamsızdır. PHPDoc yorumu ilk seviyeye (“bu durumda $ this”) uygulanacaktır. Şu anda, sınıf için PHPDoc yorumunda '@ property' aracılığıyla bildirmeyi deneyebilirsiniz - yalnızca bir kamu malı ve özel/korumalı değilse anlamlı olmalıdır. – LazyOne
Mümkünse, özellik ana sınıfta yazılmalıdır; Bu çocuk sınıflarına yayılmalıdır. – deceze
@deceze It *, * sınıfında, "Geometry" şeklinde yazılmıştır. Çocuk sınıfı aslında 'Geometri'nin soyundan gelen bir' Point 'olduğunu belgelemelidir. – Benjamin