34

考虑以下 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

4 回答 4

50
/**
 * This is what the variable does. The var line contains the type stored in this variable.
 * @var string
 */
private $foo;
于 2010-02-03T19:31:40.193 回答
19

我通常会至少使用@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//protectedprivate,但是当我记录用 PHP 5 编写的代码时我从不使用它:使用可见性关键字的代码是自记录的。

于 2010-02-03T19:32:38.863 回答
6

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

更多信息的链接:

于 2013-08-28T07:15:18.867 回答
0
/**
 * docstring
 */
private $foo;

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

于 2016-03-24T05:56:09.637 回答