2010-04-26 11 views
17

PHP uygulamamda birkaç ilişkilendirici dizi kullanıyorum ve kaynaklarımı yorumlamak için PHP dokümantasyonunu kullanıyorum. Dizilerdeki diziler için hiçbir zaman yorum yapmadım, ama şimdi bunu yapmalı ve nasıl yapmam gerektiğini bilmiyorum.PHP Dokümantasyonunda ilişkisel diziyi yorumlayın.

$array = array('id' => 'test', 'class' => 'tester', 'options' => array('option1' => 1, 'option2' => 2)) 

nasıl @var ve @param yorumlar için doğru bir şekilde bu diziyi yorum yapabilirim? Böyle bu yapabileceğini, ama bu doğru olup olmadığını bilmiyorum:

@param string $array['id'] 
@param string $array['class'] 
@param int $array['options']['option1'] 

Ama nasıl @var kısmı için bunu yapmak?

cevap

29

Her anahtarı belgeleyemezsiniz, ancak you can tell phpDocumentor what type it is. şu anda kapsamlı olmasa,

/** 
* Form the array like this: 
* <code> 
* $array = array(
* 'id'  => 'foo',   // the id 
* 'class' => 'myClass',  // the class 
*); 
* 
* </code> 
* 
* @var array[string]string 
*/ 
$array; 
+0

sayesinde;) – Abenil

+2

Bu, herhangi bir IDE'de otomatik tamamlama/intellisense ile çalıştığı onaylandı mı? [Tür tanımları için phpDoc ABNF] 'ye göre (http://www.phpdoc.org/docs/latest/for-users/types.html#abnf) dizi dizini için bir tür belirtilemez. Ve diziyi '@var dizgisi [] 'olarak belirtir (dizinin bileşeni sadece" belirtilmemiş "diziler için mevcut olması gerekir). – Sepster

+0

@Sepster Çoğu IDE'nin bunu tanımak için yeterince akıllı olduğunu düşünmüyorum maalesef. Yolculuğunuz değişebilir, ancak Zend Studio'nun bu türden bir akut tip farkındalığı söz konusu olduğunda uygulamada eksik kalıyor. –

8

bazı ipuçları için WordPress Inline Documentation Reference bakardım:

Böyle bir şey yapabilirdi.

bu yönergelere göre sizin bağlamda

yılında hangisi uygunsa kullanın @param veya @var veya @property, bu gibi ilişkisel dizi belgelemek olabilir: Yardımlarınız için

/** 
* @property array $my_array { 
*  An array of parameters that customize the way the parser works. 
* 
*  @type boolean $ignore_whitespace Whether to gobble up whitespace. Default true. 
*  @type string $error_level What the error reporting level is. Default 'none'. 
*        Accepts 'none', 'low', 'high'. 
* } 
*/ 
+1

Dizi yapılarını belgelemek için kullanılan bu gösterim, hiçbir zaman ciddi tartışmalara rağmen resmi PHPDoc özelliklerine dönüşmedi. Ekleyerek hakkında 2013-14. –

+1

Bazı ilgili tartışmalar https://github.com/phpDocumentor/phpDocumentor2/issues/650 adresinde görünüyor. –