如何使用phpDocumentor在PHP 5中记录类属性

时间:2010-02-03 19:28:40

标签: php class phpdoc

考虑以下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(),我只是不确定私有属性(变量?)。

谢谢!

4 个答案:

答案 0 :(得分:40)

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

答案 1 :(得分:17)

我通常会使用至少@var标记来表示变量的类型。

例如:

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


这正是Zend Framework所做的事情,例如;请参阅Zend_Layout (引用)

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 4 非常有用(当没有public / protected / private时,我从不使用它当我记录用PHP 5编写的代码:代码时,使用可见性关键字是自我记录的。

答案 2 :(得分:0)

如果您使用__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(){
         ...
     }
 }

链接更多信息:

答案 3 :(得分:-1)

/**
 * docstring
 */
private $foo;

重要提示:应该有两个星号。不是一个。