使用phpDocumentor记录类常量组

时间:2011-11-11 11:55:01

标签: php phpdoc

假设我有一个带参数的方法,其有效值被声明为类常量(想想PGSQL_ASSOC / PGSQL_NUM / PGSQL_BOTH)。还有另一种方法,使用类似的参数,使用另一组类常量。有没有办法向phpDocumentor描述每组常量属于一个逻辑组的替代?将它们记录在组中是有用的,并且能够引用方法文档中的特定组。使用docblock模板不会削减它,因为模板的简短描述会被忽略(添加无用的混乱),而模板的长描述会附加到常量特定的描述中,从而产生一种向后的措辞(例如“BAR_MODE_1”这个和那个.Foo :: bar()的操作模式“,而不是”Foo :: bar()的操作模式:BAR_MODE_1执行此操作。“)。

示例:

class Foo {

    // this group of constants are valid modes for the bar() method
    const BAR_MODE_1 = 1;
    const BAR_MODE_2 = 2;
    const BAR_MODE_3 = 3;

    /**
     * @param int see Foo::BAR_MODE_* constants
     */
    public function bar($mode) { ... }

    // this group of constants are valid modes for the baz() method
    const BAZ_MODE_1 = 1;
    const BAZ_MODE_2 = 2;
    const BAZ_MODE_3 = 3;

    /**
     * @param int see Foo::BAZ_MODE_* constants
     */
    public function baz($mode) { ... }

}

2 个答案:

答案 0 :(得分:7)

另一种风格可能是使用PHPDocumentor DocBlock模板

/**#@+
* This comment applies to each in the block
*
* @var varType 
*/
protected $_var1 = 1;
protected $_var2 = 2;
/**#@-*/

请参阅:http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_phpDocumentor.howto.pkg.html#basics.docblock

答案 1 :(得分:2)

首先我想到的是@see - 标签,它显示了元素文档的链接。

/**
 * @param int 
 * @see Foo::BAR_MODE_* constants
 */
public function bar($mode) { ... }

可以找到更多详细信息here in the manual