我有以下代码:
class A {
/**
* Splitter for words
*
* @var null|string
*/
private $splitter = '-';
/**
* Desc...
*
* @param null|string $splitter @see $splitter
*/
function __construct(
$splitter = null
) {
// implementation
}
}
$a = new A();
在CTRL+Q
中使用PhpStorm
查看类构造函数的文档时,我会看到:
null|string $splitter @see $splitter
我做错了什么或者应该将PhpStorm配置为显示$splitter here
的描述。我希望此处显示Splitter for words
或链接到$splitter
成员,而不只是@see $splitter
。
当我检查时,这两个变量具有相同的名称并不重要 - 即使构造函数参数名称为$s
,PhpStorm仍会显示@see $splitter
。
答案 0 :(得分:4)
首先:当内联(与您一样)时,PHPDoc标记应该被{}
包围,如下所示:@param null|string $splitter {@see $splitter}
其次: PhpStorm不解析@param
或@return
描述中的其他/内嵌标记 - 只有在@see
位于其中时才解析它单独的行或如果在主(方法)描述部分内联。换句话说:@param
描述中的内联不起作用(非常 )。
在这方面 PhpStorm就像PhpDocumentor本身一样(使用版本2.6.1检查)。
<强>代码:强>
<?php
class PHPDoc_See
{
/**
* Splitter for words
*
* @var null|string
*/
private $splitter = '-';
/**
* Desc... {@see $splitter}
*
* @param null|string $splitter Bla-Bla {@see $splitter}
*/
function __construct($splitter = null)
{
// implementation
}
}
PhpDocumentor结果:
在这方面,PhpStorm表现得更好 - 至少它在主(方法)描述中解析@see
。
唯一可行的解决方案(我认为)是将@see
标记放在不同的行上:
/**
* Some Description
*
* @param null|string $splitter Bla-Bla
* @see $splitter
*/
当然:您可以随时向PhpStorm's Issue Tracker提交功能请求票据(我会投票支持)..但考虑到PhpDocumentor的表现如何这方面..我严重怀疑PhpStorm开发人员会很快实现它(他们更喜欢遵循与引用工具相同的行为)。