web-dev-qa-db-ja.com

phpDocumentorを使用してPHP 5でクラスプロパティを文書化する方法

次のPHP 5クラスを考慮してください:

class SomeClass
{
    //I want to document this property...
    private $foo;


    function __construct()
    {

    }

    public function SetFoo($value)
    {
        $this->foo = $value;
    }

    public function GetFoo()
    {
        return $this->foo;
    }
}

phpDocumentor で$ fooプロパティをどのように文書化しますか?文書化する必要があるかどうかさえわかりませんが、必要な場合はどうすればよいか知りたいです...

SetFoo()とGetFoo()を文書化する方法を知っていますが、プライベートプロパティ(変数?)についてはよくわかりません。

ありがとう!

27
AlexV
/**
 * This is what the variable does. The var line contains the type stored in this variable.
 * @var string
 */
private $foo;
41
Billy ONeal

私は通常、少なくとも@varタグを使用して、これが変数のタイプであることを示します。

例えば ​​:

/**
 * Some blah blah about what this is useful for
 * @var MyClass $foo
 */


これは、たとえばZendFrameworkによって行われることとまったく同じです。 Zend_Layout(quoting)を参照してください:

class Zend_Layout
{
    /**
     * Placeholder container for layout variables
     * @var Zend_View_Helper_Placeholder_Container
     */
    protected $_container;

    /**
     * Key used to store content from 'default' named response segment
     * @var string
     */
    protected $_contentKey = 'content';


注:@accessタグはPHP 4public/protected/privateがなかった場合)、しかし、PHP 5:コード、可視性キーワードの使用は自己文書化です。

17
Pascal MARTIN

__getおよび__setマジックメソッドを使用する場合は、@propertyを使用できます。

/**
  * Description for the class
  * @property type $foo Description for foo
  * @property type $foo Description for bar
  */
 class SomeClass
 {
     private $foo;
     protected $bar;

     public function __get(){
         ...
     }

     public function __set(){
         ...
     }
 }

詳細情報へのリンク:

1
David
/**
 * docstring
 */
private $foo;

重要な注意:twoアスタリスクが必要です。ない1。

0