PHPDocumentor。我可以从它添加到属性的链接吗';什么是getter描述?
所以问题是-如何通过查看$Property的文档来查看getProperty()中的描述?或者只需查看getProperty()文档的链接…我认为您能管理的最好方法是PHPDocumentor。我可以从它添加到属性的链接吗';什么是getter描述?,php,phpdoc,Php,Phpdoc,所以问题是-如何通过查看$Property的文档来查看getProperty()中的描述?或者只需查看getProperty()文档的链接…我认为您能管理的最好方法是 /** * @property $Property */ class SomeClass { public function __get($name){ return $this->{'get'.$name}; } /** * Some description *
/**
* @property $Property
*/
class SomeClass {
public function __get($name){
return $this->{'get'.$name};
}
/**
* Some description
* @return bool
*/
public function getProperty(){
return true;
}
}
使用类级PHPDoc注释
@property $Property
@see getProperty
是的,神奇的getter将出现在IDE中,这正是它有用的原因问题似乎与标题相反。您希望查看属性并查看getter的描述,还是希望查看getter并查看属性的描述 我想你们两个都想要。然而,你实际上也不能得到。最多,一个描述可以包含指向另一个的链接,但在其自身的描述中实际上不包含另一个的描述 在这里,属性的描述将包含一个指向getter文档的链接
/**
* @method string getMyFirstProperty() Return value of the property called first
* @method float getMySecondProperty() Return value of the property called second
*/
这里有两个复杂问题:在实际文档中如何显示神奇的东西(以及IDE如何显示它们);以及{@link}内联标记是否真正起作用
在PHPDocumentor1.x中,magic stuff仅作为类本身上列出的额外信息出现。在PHPDocumentor2.x中,魔术属性和魔术方法都将显示为真实的属性和方法。x行为是一个很大的改进。对于IDE,我只能说是EclipsePDT,我看到它与1.x行为相匹配
在phpdocumentor1.x中,内联{@link}标记起作用,并且通常成为指向元素(属性、方法)的文档的超链接。然而,由于1.x实际上没有为@property和@method标识的神奇事物创建专用文档,因此“{@link$property}”实际上不能指向任何东西。类docblock中显示“@property$property”描述的文本可能会正确显示到getProperty()的链接,但这只是因为getProperty()是一个true方法,因此它有自己的doc。如果getProperty()是一个由“@method getProperty()”表示的神奇方法,那么“{@link getProperty()}”就没有指向的地方了
在phpdocumentor2.x中,内联{@link}标记没有实现,因此它最终将只是一个可见文本,就好像它没有标记用途一样。一旦2.x实现了这个内联标记,那么我上面的解决方案应该能够解决您的两个潜在问题。Eah,但是如果我有20个属性和20个getter,那么所有这些getter都将出现在IDE的文档结果中,有没有办法隐藏不必要的链接?
/**
* @property $Property is controlled by {@link getProperty()}.
*/
class SomeClass {
public function __get($name){
return $this->{'get'.$name};
}
/**
* Gets the value of {@link $Property}.
* @return bool
*/
public function getProperty(){
return true;
}
}