【问题标题】:PHPDoc return type for trait function特征函数的 PHPDoc 返回类型
【发布时间】:2019-08-04 11:37:06
【问题描述】:

我的代码中有如下函数返回对象(用于链接):

    /**
     * Set properties
     *
     * @param $name
     * @param $value
     *
     * @return \Boka10\Page\MenuItemConfig
     */
    public function __set($name, $value)
    {

        $this->$name = $value;

        return $this;
    }

我想把这个函数变成一个 trait,因为,基本上它一直被重用。

我的问题是,return $this 行在文档部分产生了问题。在我的 PHPDoc 中,它说(在这个例子中)@return \Boka10\Page\MenuItemConfig

如何创建返回文档包含正确类型转换的“全局”特征方法?是否可以这样做,或者我应该将__set 函数添加到每个类?

我不确定我是否可以解释我在这里遇到了什么问题;)如果所有这些对象都返回它们自己的实例,那么全局使用的特征中 @return 标记的内容究竟是什么?

【问题讨论】:

  • 您找到解决方案了吗?返回self 和我知道的其他构造都有问题。
  • @JaredFarrish 我找到了一种特定于诗篇的方式并添加了一个关于它的答案。不过我没有用其他工具测试...
  • 好的,谢谢。这有点乱,特征。

标签: php-7 phpdoc php-7.2


【解决方案1】:

经过一番挖掘和“破解”后,我检查了 Psalm 中的测试,发现以下似乎是评论这些案例的最佳方法:

/**
 * @method string somefunction($name, $value)
 * @property string $name
 */
class ImplementTrait {

    use MagicTrait;

}

属性和方法记录在实现类中。

注意:我正在使用 Psalm 来检查代码质量,这是 psalms 接受的方式:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-31
    • 2022-07-31
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    • 2018-03-18
    • 2018-04-06
    • 2020-02-29
    相关资源
    最近更新 更多