How to document class properties in PHP 5 with phpDocumentor
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:
- http://www.phpdoc.org/docs/latest/for-users/phpdoc/tags/property.html
- http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.property.pkg.html
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, 2020Comments
-
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!