How to document class properties in PHP 5 with phpDocumentor

28,965

Solution 1

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

Solution 2

I would generally use at least the @var tag, to indicate the type of variable this is.

For instance :

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


This is exactly what's done by Zend Framework, for instance ; see 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';


Note : the @access tag was useful with PHP 4 (when there were no public/protected/private), but I never use it when I document code written in PHP 5 : the code, using the visibility keywords is self-documenting.

Solution 3

In the case you use a __get and __set magic methods you can use @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(){
         ...
     }
 }

Links with more info:

Share:
28,965
AlexV
Author by

AlexV

Professional developer since 2004 and hobbyist developer since 1995. Developing Web applications with Python 2.7 Developing Web applications with PHP (5.3+), JavaScript, HTML and CSS Developing cross-platform client-server applications and low level framework with C++ Developing various Windows desktop applications with Delphi (since Delphi 3!) Creating and managing databases with MySQL and others

Updated on September 10, 2020

Comments

  • AlexV
    AlexV over 3 years

    Take in consideration the following PHP 5 class:

    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;
        }
    }
    

    How in phpDocumentor will I document the $foo property? I'm not even sure it need to be documented but I would like to know how if if needs to...

    I know how to document SetFoo() and GetFoo(), I'm just not sure about the private property (variable?).

    Thanks!