【问题标题】:How to tell phpdoc that 'return' type is the type of the param如何告诉 phpdoc 'return' 类型是参数的类型
【发布时间】:2018-08-16 15:48:03
【问题描述】:

假设我们有这样一个方法:

protected function proxy($obj) {
        return new Proxy($obj);
    }

$obj 类型可以不同。但返回类型与参数的类型相同。例如,如果$obj 类型为MyClass,则返回类型为MyClass。有没有办法告诉phpdoc?

【问题讨论】:

  • 嗯?该示例将始终返回 Proxy... 类型的对象
  • 泛型提供了一种方法。不幸的是 php 没有泛型,它还在草稿中。
  • @Jon Stirling Proxy 不添加方法或属性。它在对象上做了一些事情。在某些时候你是对的。假设我们找到了一种方法来告诉返回类型与参数相同,那么 phpdoc 结果将是Proxy|{returnType}。
  • 那条评论一无所获:P

标签: php phpdoc


【解决方案1】:

即使Proxy 只是作为$obj 实例所在类周围的装饰器,函数仍然返回Proxy 类的实例。说它看起来仍然像 $obj 类可能是真的,但从技术上讲,它仍然是 Proxy 实例......除非你用 Proxy::__construct() 做一些奇怪的事情,以某种方式明确返回一些其他对象,因此在构造函数可以正确返回其新的Proxy 实例之前中止它。

【讨论】:

    猜你喜欢
    • 2015-07-22
    • 1970-01-01
    • 2016-09-27
    • 2017-02-06
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多