2011-10-18 36 views
7

Değeri önceden belirlenmiş bir sabit olması beklenen işlev veya yöntem parametrelerini belgelemek için önerilen yol nedir? Şimdiye kadar, sabitin veri türünü kullanıyorum ve daha sonra biraz açıklama yapıyorum.Bir sabit bekleyeceği bir parametre nasıl kaydedilir

Ör: tanımlamak/phpdoc

const kullanarak sabit belgelemek konusunda

<?php 

class Foo{ 
    const METHOD_GET = 'get'; 
    const METHOD_POST = 'post'; 

    /** 
    * Load a new foo 
    * 
    * @param string $method HTTP method to use (either Foo::METHOD_GET or Foo::METHOD_POST) 
    */ 
    public function load($method=Foo::METHOD_POST){ 
     // ... 
    } 

    /** 
    * Sort current foo 
    * 
    * @param int $sort_order Sort order (either SORT_ASC or SORT_DESC) 
    */ 
    public function sort($sort_order=SORT_ASC){ 
     // ... 
    } 
} 
+0

bana iyi göründü olduğu gibi, muhtemelen iki yöntemi 'post()' ve 'get()' ve sortAsc() ve 'sortDesc()' ye sahip olmak ya da http istek ve sıralama stratejilerini Foo'ya aktarılabilen harici nesneler yapmak isterdim. – Gordon

+1

Bu konuyla ilgili bir tartışma: https://github.com/phpDocumentor/phpDocumentor2/issues/557 – artspb

cevap

5

Verilen php aynı anlamı Param ve geri dönüş etiketlerinde, bilinen bir sabiti kullanabileceğinizi umuyorum. Birden çok yazım seçeneği belirtmek istediğinizde, listeyi borularla sınırlarsınız. seni örnek değiştirme: Bilinen iç-to-sınıfının değeri bu durumda veri türü yana

/** 
* Load a new foo 
* 
* @param Foo::METHOD_GET|Foo::METHOD_POST $method HTTP method to use 
*/ 
public function load($method=Foo::METHOD_POST){ 
    // ... 
} 

edilir, hatta sınıfadı öneki olmadan çalışabilir:

* @param METHOD_GET|METHOD_POST $method HTTP method to use 
+0

Birkaç IDE ve phpDocumentor ile test ediyorum. Görünüşe göre, hiçbiri param türü ile özel bir şey yapamaz (bağlantılar oluşturma veya otomatik tamamlama listesini besleme gibi). Yani sanırım bunu yapmanın standart bir yolu yok ve seçtiğim herhangi bir yöntem zarar vermeyecek. Fikrini düşüneceğim. –

-2

Here bulunan bilgiler dataype olarak bilinen bir sınıf kullanabileceği

+0

Özür dilerim ama bu benim sorum değil: Bir işlev parametresini belgelemek istiyorum. (Ve const/define, benzerdir, ancak sizin önerdiğiniz gibi eşdeğer değildir.) –

+0

Tamam, sizin için bir şey buldum [here] (http://stackoverflow.com/questions/3892063/phpdoc-class-constants-documentation) – user973254

+1

Aynı soru için başka bir cevap. Sorumumun herhangi bir kısmı sizin için net olmadığını açıklığa kavuşturmaktan memnuniyet duyarız, ancak lütfen önce dikkatle okuyun. –

İlgili konular