【问题标题】:PHPDoc for parameters and return type参数和返回类型的 PHPDoc
【发布时间】:2018-01-24 12:11:13
【问题描述】:

我正在使用 eclipse 来构建我的 php 应用程序和 Source > Generate Element Comment 功能来自动创建文档块。
我对格式有点疑惑,因为返回类型设置为完全限定的类名,但参数不是。
这是 IDE 的错误还是常见的约定?

这是一个例子:

/**
 * Executes the given service.
 *
 * @param string $serviceClass
 * @param ParametersInterface $inputParams
 *
 * @return \ZF\Hal\Entity
 */

而且我有以下用途:

namespace MyApp;

use ZF\Hal\Entity;
use Zend\Stdlib\ParametersInterface;

【问题讨论】:

    标签: php phpdoc


    【解决方案1】:

    这很可能只是 Eclipse 中的一种行为异常,其中参数的自动识别代码可能与自动识别返回的代码不同。我敢打赌,参数识别更加幼稚,因为它可能专门关闭您的方法签名。所以,如果你的方法签名是

    public function executeService(string $serviceClass, ParametersInterface $inputParams)

    那么自动文档可能正好得到您在代码中的ParametersInterface

    但是,如果你这样写代码

    public function executeService(string $serviceClass, Zend\Stdlib\ParametersInterface $inputParams)

    那么我敢打赌,自动文档会显示完全命名空间的名称。

    向 Eclipse 报告它不会有什么坏处(如果尚未报告的话)。

    【讨论】:

      【解决方案2】:

      如果您有 use ParametersInterface; 并且其路径位于文件顶部,则可能会发生这种情况,因此 PHP 文档会考虑到它,但您没有 use ZF\Hal\Entity,因此它会以完整路径插入到 @return 中。 在 PHPStorm 中它是这样工作的,所以在 Eclipse 中它可能是一样的

      【讨论】:

      • 是的,在 PHPStorm 中,您也可以选择导入完全限定的路径,我对 eclipse 不太了解,但我想它的工作方式相同
      • 我的想法和你一模一样:如果我使用一个类,那么没有必要在 param 中设置完整路径,也不需要返回。但这正是让我感到困惑的事实:我使用了这两个类。我修改了我的帖子。
      猜你喜欢
      • 2019-08-04
      • 2013-10-13
      • 2013-12-23
      • 1970-01-01
      • 2018-04-06
      • 2014-12-19
      • 2018-01-16
      • 2016-09-27
      • 1970-01-01
      相关资源
      最近更新 更多