2009-11-29 13 views
56

WebIDE, bir değişkenin bir türü olduğunu ima etmenin bir yolu var mı? Bir dizi nesneyi tekrarlamak zorundayım ve otomatik tamamlama mevcut değil. Bu Zend Studio yardımcı olur:JetBrains Web: PHP değişken tip ipucu?

/* @var ClassName $object */ 

Ben nesneleri dizisini ilan etmek JetBrains bir özellik olduğunu biliyorum:

/** 
* @return ClassName[] 
*/ 

Ama bu işlevin dönüş türü ile çalışır.

+0

Dizilerle çalışır. Belirli bir tür üzerinde yineleyen ArrayIterators ile çalışır mı? – redestructa

cevap

97

/* @var ClassName $object */, geçerli olmayan bir PHPDOC yorumu olup, Web IDE'nin geçerli sürümünde ayrıştırılmamıştır. o iş yapmak için çift yıldız kullanın:

/** @var ClassName $object */ 

Ayrıca, /** @var ClassName[] $array */ ve $var türü otomatik çıkarılabilir edilecek olan foreach($array as $var) yılında $array açıklama ekleyebilirsiniz. Ayrıca Netbeans/Eclipse/Zend @var annotations orada desteklemek oluyor 2.1 beri Ancak

/** @var ClassName $object */ 

:

/* @var $object ClassName */ 

comment başlar unutmayın

+0

köşeli parantez gösterim hakkında bilmiyordu – sanya

+2

İlgili soru: Benim PHP sınıfım bir değişken için magic getter kullanıyor ve bu getter değişkenini bir Class nesnesine bağlamak istiyorum, herhangi bir fikri nasıl yapmalıyım? Sınıfımdaki değişkeni tanımlayamadığım için. –

+0

Wow .. sadece eğlence için googled ve bu gerçekten bir şey olacak umudu yok .. Hayatımda hiç bu kadar yanılmamıştım ve yanıldığımı sevindim! Bu özellik çok güzel, teşekkürler! :) –

19

Daha önce PhpStorm düzenli phpdoc blokları kullanacak işaret /** yerine /* ile (böylece phpdoc ile gerçek belgeler oluşturursanız görünmez). PhpStorm herhangi siparişi kabul olsa da, tartışmalar, takas edilir:

/* @var ClassName $object */ 

Son olarak, neredeyse kodun herhangi bir keyfi hattını öncüsü olabilir (teknik phpdoc blokları bazı öğeler ile sınırlıdır).