我可以在PHPDoc中的@method行上使用@see吗?
当使用PHPs我可以在PHPDoc中的@method行上使用@see吗?,php,phpstorm,phpdoc,Php,Phpstorm,Phpdoc,当使用PHPs\u call使一个类扩展2个类时, 您可以使用@method使IDE知道这些方法存在 但是当要求IDE跳转到方法的声明时,您会在@method行结束,一种不被卡住的方法是在上面或下面添加一个@参见行。但是,添加该行和分隔行会使PHPDoc的长度/高度增加3倍 是否可以在同一行上添加@请参见 看到一些示例按原样使用它,还有一些示例在{}中使用它。 在我的IDE(PhpStorm)中对其进行了测试,只有在其位于单独一行时,@see的跳转到声明才有效 PHPDoc是否允许我们在@方法的
\u call
使一个类扩展2个类时,
您可以使用@method
使IDE知道这些方法存在
但是当要求IDE跳转到方法的声明时,您会在@method行结束,一种不被卡住的方法是在上面或下面添加一个@参见行。但是,添加该行和分隔行会使PHPDoc的长度/高度增加3倍
是否可以在同一行上添加@请参见
看到一些示例按原样使用它,还有一些示例在{}
中使用它。
在我的IDE(PhpStorm)中对其进行了测试,只有在其位于单独一行时,@see
的跳转到声明才有效
PHPDoc是否允许我们在@方法
的同一行上使用@参见
?如果是,正确的语法是什么
例如:
<?php
class a { function ma() { return "a"; } }
class b { function mb() { return "b"; } }
/**
* Class c
*
* @method string mb() { @see b::mb() }
*/
class c extends a
{
/** @var b b */
public $b;
function __construct() { $this->b = new b(); }
function mc() { return "c"; }
function __call($name, $arguments)
{
return call_user_func_array([$this->b, $name], $arguments);
}
}
$c = new c();
var_dump($c->mb());
PHPDoc还没有正式的标准。PHPDocumentor是事实上的标准,但PHPHFIG也在开发一个标准
发件人:
在PHPDoc注释中,PhpStorm支持符合ZEND、PEAR和其他标准的格式选项
正如您和我都发现的,要想弄清楚PHPStorm到底支持什么,需要反复试验
PHPDocumentor不支持内联:
用@see标记的结构元素或长描述中的内联文本将在其描述中显示链接
菲律宾政府表示:
特定的标记可能在“标记”定义的末尾有一个“Inline PHPDoc”部分。。。一个例子是@method标记。可以使用“内联PHPDoc”来扩充此标记,以提供有关参数、返回值或函数和方法支持的任何其他标记的附加信息
奇怪的是,这个定义并没有明确说明这一点
我认为这一切意味着您可以在PHPDoc注释中的@method行上使用@see,但不要指望PHPStorm能够识别它。您的语法是正确的,根据“标准”,它应该保留在@method的末尾