使用phpDocumentor记录类常量组
假设我有一个方法,它有一个参数,其有效值被声明为类常量(想想使用phpDocumentor记录类常量组,php,phpdoc,Php,Phpdoc,假设我有一个方法,它有一个参数,其有效值被声明为类常量(想想PGSQL\u ASSOC/PGSQL\u NUM/PGSQL\u两者)。还有另一个方法,具有类似的参数,使用另一组类常量。有没有办法向phpDocumentor描述每一组常量都属于一组逻辑备选方案?将它们分组记录,并且能够在方法文档中引用特定的组,这将是非常有用的。使用docblock模板并不能解决这一问题,因为模板的简短描述被忽略(添加无用的混乱),而模板的长描述被附加到常量特定描述中,从而导致某种向后的措辞(例如,“BAR_MOD
PGSQL\u ASSOC
/PGSQL\u NUM
/PGSQL\u两者
)。还有另一个方法,具有类似的参数,使用另一组类常量。有没有办法向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) { ... }
}
我想到的第一件事是
@see
-标记,它显示一个元素文档的链接
/**
* @param int
* @see Foo::BAR_MODE_* constants
*/
public function bar($mode) { ... }
可以找到更多详细信息。另一种风格可能是使用PHPDocumentorDocBlock模板
/**#@+
* This comment applies to each in the block
*
* @var varType
*/
protected $_var1 = 1;
protected $_var2 = 2;
/**#@-*/
请参阅:此指令仅在文档中呈现文本行。我甚至不知道如何将其作为指向常量部分的链接,在我的情况下,相关常量甚至没有在与方法相同的类中定义,而是在父类中定义。实际上,
@see Foo::BAR_MODE_1
生成一个链接,但隐藏了与其余部分的关系关于BAR_MODE_*constantsI,我在我的问题中提到了docblock模板,以及为什么它在这种情况下不有用。是的,我错过了。但是,当我再次搜索如何使用docblock模板时,将此代码放在这里是很有用的;)