Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以在PHPDoc中的@method行上使用@see吗?_Php_Phpstorm_Phpdoc - Fatal编程技术网

我可以在PHPDoc中的@method行上使用@see吗?

我可以在PHPDoc中的@method行上使用@see吗?,php,phpstorm,phpdoc,Php,Phpstorm,Phpdoc,当使用PHPs\u call使一个类扩展2个类时, 您可以使用@method使IDE知道这些方法存在 但是当要求IDE跳转到方法的声明时,您会在@method行结束,一种不被卡住的方法是在上面或下面添加一个@参见行。但是,添加该行和分隔行会使PHPDoc的长度/高度增加3倍 是否可以在同一行上添加@请参见 看到一些示例按原样使用它,还有一些示例在{}中使用它。 在我的IDE(PhpStorm)中对其进行了测试,只有在其位于单独一行时,@see的跳转到声明才有效 PHPDoc是否允许我们在@方法的

当使用PHPs
\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的末尾