【问题标题】:For an abstract function, should the phpdoc be defined for the abstract function, the implemented function, or both?对于抽象函数,应该为抽象函数、实现的函数还是两者都定义 phpdoc?
【发布时间】:2016-08-27 21:02:33
【问题描述】:

是否有正确或标准的方法来做到这一点?

例如:

AbstractFoo.php:

abstract class AbstractFoo {
    /**
     * Does the phpdoc go here?
     */
    public function fooFunction();
}

Foo.php:

class Foo extends AbstractFoo {
    /**
     * Or does the phpdoc go here?
     */
    public function fooFunction(){
        // some implementation
    }
}

考虑以下问题:

  • 如果您将 phpdoc 放在抽象的 FooFunction() 中,然后控制 + 单击 $foo->FooFunction(),您将最终进入 Foo 类'FooFunction(),这是未记录的,并且不是很明显它正在实现抽象函数。如果很明显,没有

    • 确定对象是什么类
    • 定位它所继承的抽象类
    • 对该抽象类中的函数名进行“查找”
  • 如果您只将 phpdoc 放在子函数中,那么您将面临在 n 个继承类的子函数中复制 phpdoc。

  • 如果两个都放phpdoc,那么抽象函数的phpdoc就变得毫无意义,除非子类没有phpdoc,想继承abstract的phpdoc。但即使在这种情况下,也没有简单的方法可以导航到那个抽象的 phpdoc。

【问题讨论】:

    标签: php phpdoc


    【解决方案1】:

    您应该记录接口或抽象实现。 否则,请使用 @inheritdoc/document 您的接口方法实现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-11
      • 2014-06-13
      • 1970-01-01
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-10
      相关资源
      最近更新 更多