对于抽象函数,phpdoc 应该为抽象函数、实现函数还是两者定义?
For an abstract function, should the phpdoc be defined for the abstract function, the implemented function, or both?
是否有正确或标准的方法来做到这一点?
例如:
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() 中,然后按住 control 并单击 $foo->FooFunction()
,您将最终到达 Foo
class' FooFunction()
,它没有记录,并且不是很明显它正在实现一个抽象函数。如果很明显,没有
就没有简单的方法可以在抽象函数中访问 phpdoc
- 确定 class object 是什么
- 找到它正在继承的摘要class
- 对该摘要中的函数名称执行 "find" class
如果您只将 phpdoc 放在 children 函数中,那么您将面临在 n 个继承 [=] 的 children 函数中复制 phpdocs 55=]es.
如果你把phpdoc放在两个里面,抽象函数的phpdoc就没有意义了,除非一个childclass没有phpdoc,想继承抽象函数的phpdoc。但即使在这种情况下,也没有简单的方法导航到那个抽象的 phpdoc。
您应该记录接口或抽象实现。
否则,使用 @inheritdoc/document 你的接口方法的实现。
是否有正确或标准的方法来做到这一点?
例如:
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() 中,然后按住 control 并单击
就没有简单的方法可以在抽象函数中访问 phpdoc$foo->FooFunction()
,您将最终到达Foo
class'FooFunction()
,它没有记录,并且不是很明显它正在实现一个抽象函数。如果很明显,没有- 确定 class object 是什么
- 找到它正在继承的摘要class
- 对该摘要中的函数名称执行 "find" class
如果您只将 phpdoc 放在 children 函数中,那么您将面临在 n 个继承 [=] 的 children 函数中复制 phpdocs 55=]es.
如果你把phpdoc放在两个里面,抽象函数的phpdoc就没有意义了,除非一个childclass没有phpdoc,想继承抽象函数的phpdoc。但即使在这种情况下,也没有简单的方法导航到那个抽象的 phpdoc。
您应该记录接口或抽象实现。 否则,使用 @inheritdoc/document 你的接口方法的实现。