Ben kodu aşağı yukarı böyle vardır:Fabrikalar için PhpStorm tipi imalama?
class Foo {
public static function factory($str) {
$class = "Foo_" . $str;
return new $class;
}
}
class Foo_Bar {
public function razzle() {
print "Foo_Bar->baz() was called";
}
}
$Obj = Foo::factory('Bar');
ve ben PhpStorm örneğin ben $Obj->raz
, razzle()
otomatik tamamlanması için görünecektir yazarsanız böylece $Obj
, bir Foo_Bar
nesne olduğunu anlamak istiyorum.
Bunu elde etmenin bir yolu var mı? PhpStorm'a Foo::factory($str)
işlevinin Foo_$str
türünde bir nesne döndürdüğünü anlatmak için? Benim tahminim cevabın hayır olmasıdır.
Belki de yanlış bir şey yapıyorum, ancak benim için çalışmıyor gibi görünüyor. PhpStorm 6.0.3 kullanıyorum. Aşağıdaki iki dosyayı yeni bir boş projede oluşturdum: http://pastie.org/8146899, ama ben herhangi bir otomatik tamamlama '' $ x -> ... ' –
benim için çalışmıyorum. 1) Meta veri dosyası ile dosyalanması gerekmektedir. .phpstorm.meta.php'; 2) Anında toplanmayacak - projeyi kapatıp yeniden açacak (bu tür bir dosya proje yükü üzerinde yapılır, bir kez dosya bulunduğunda, derhal değiştirilmelidir) - bu davranış v7. – LazyOne
Teşekkürler! İsmin gerekli olduğunu anlamadım, şimdi güzelce çalışıyor. –