【问题标题】:Documenting PHP multiple inheritance with PhpDoc使用 PhpDoc 记录 PHP 多重继承
【发布时间】:2011-02-10 23:56:14
【问题描述】:

我有像这样的多重继承:Can I extend a class using more than 1 class in PHP?(请不要讨论这种方法本身)并希望我的 IDE 了解继承的类方法和属性。有没有办法用 PhpDoc 做到这一点?

【问题讨论】:

  • 您的问题是与 PhpDoc 更相关还是与“如何在编辑器中显示适当的自动完成”更相关?
  • 我不喜欢称这个技巧为多重继承,而是委托。
  • Savageman,它是关于 PhpDoc 但也很高兴知道是否有 IDE 特定的技巧。

标签: php multiple-inheritance phpdoc


【解决方案1】:

@method 注释应该用于实现__call 的类。在相关说明中,对于__get__set__isset,应使用@property 注释。我唯一不确定的是 Eclipse PDT 是否支持这些注释。我知道 NetBeans 可以。

【讨论】:

  • 谢谢,我知道我可以使用这些,但是很难一一重新声明所有“继承”的方法和属性。我希望我错过了某种可以将类方法和属性委托给另一个类的 PhpDoc。顺便说一句,PhpStorm 同时支持@property 和@method。
【解决方案2】:

目前似乎没有办法轻松做到这一点。我在 PhpStorm 问题跟踪器上创建了一张票。也许他们会增加对这个功能的支持。

http://youtrack.jetbrains.net/issue/WI-1730

【讨论】:

  • 他们终于做到了:)
  • 这可以在 PHPStorm 中使用,只需使用特殊的 phpDoc 参数 @mixin,就像这样:/* @mixin \Another\Class\Or\Namespace */ 在类的顶部。
【解决方案3】:

在类级别不支持多重继承。这意味着您一次不能扩展多个类。但是,接口中支持多重继承。一个接口可以扩展任意数量的其他接口 一次。

【讨论】:

    猜你喜欢
    • 2013-07-21
    • 2010-11-08
    • 2014-07-26
    • 2014-10-04
    • 2017-05-03
    • 2013-08-14
    • 1970-01-01
    • 2012-12-07
    • 2010-12-11
    相关资源
    最近更新 更多