2011-12-09 20 views
7

@param ek açıklamalarında sınıfların adlarını eklemek iyi bir uygulama mıdır? Phpdoc'un ad alanlarını desteklemediğini biliyorum, ancak phpdox veya Doxygen gibi diğer araçlar nasıl hareket edecek?@param alan adlarını kullan

Hangi yol daha iyi/daha yaygındır?

namespace foo\someNamespace; 
use foo\someOtherNamespace\MyOtherClass; 

--- with namespace --- 

/** 
* @param \foo\someOtherNamespace\MyOtherClass $otherClass 
*/ 
class myClass(MyOtherClass $otherClass) 
{ 
    // do something 
} 

--- without namespace --- 

/** 
* @param MyOtherClass $otherClass 
*/ 
class myClass(MyOtherClass $otherClass) 
{ 
    // do something 
} 
+4

+1 Ben her şeyi değiştirirseniz kitle bulma-değiştirme işlemlerini daha kolay hale getirmek için her zaman \ Root \ MyClass tam ad alanını kullanın. Ama aynı zamanda genellikle 'use' ifadelerini ad alanımla önlerim çünkü daha fazlasını yapar Kodumda neler olduğunu anlamak zor. – rdlowrey

+0

Benim sözleşmem ** her zaman ** Dokümanlardaki FQN'yi kullanacaktır. Önde gelen ters eğik çizgi olmadan: _foo \ someOtherNamespace \ MyOtherClass $ otherClass_ – mosch

cevap

1
Ad alanı, sınıfın tam adının bir parçasıdır. Yani isim alanını @param'daki classname'e eklemezseniz yanlış bir tip verecektiniz.

Şahsen isim alanlarının çok yakında PHP'deki sınıfların organizasyonu için temel kriterler olacağını düşünüyorum. Dolayısıyla, dokümantasyon araçlarının hepsini kullanmak zorunda kalacak.

İlgili konular