Temel sınıftan zamanı dönüş türleri tanımak için PDT kod tamamlama mı alıyorsunuz?

1 Cevap php

Ben soyut bir temel sınıf var:

abstract class BaseClass {
  /**
   * @return CLASSNAME
   */
  public function fluent() {
    // do stuff
    return $this;
  }
}

Genellikle, i Sınıfadı ve tüm iyi olurdu AnaSınıf vereceğini, PDT phpdoc dönüş türü pick up ve mutlulukla otomatik tamamlama olacaktır.

Kadar yani, ben AnaSınıf alt sınıfı ve ek yöntemleri ekleyin ve kod türetilmiş sınıfın bir örneği rekabet. PDT Sadece türetilmiş sınıftan olanlar BaseClass gelen yöntemlerini tanımak ve olmayacaktır.

Neye ihtiyacım @ return kendini veya @ bu iade gibi bir şeydir.

PDT gibi işlevleri var mı? Veya every Türetilmiş bir sınıfta bu yöntemleri bildirmek zorunda kalmadan alternatif bir hile var mı?

1 Cevap

AFAIK orada PDT böyle bir özellik, ama en azından tip ipucu kullanabilirsiniz:

$obj = $osomething->fluent();
/* @var $obj ChildClass */

Sonra otomatik olarak tamamla türetilmiş tüm yöntemler olurdu. Biliyorum onun Bu yorumu size fluent() aramak her zaman yazmak, ama yine de tekrar tekrar, her türetilmiş sınıfa yöntemleri yeniden tanımlayan daha iyidir can sıkıcı ...