如何在PHP中为函数添加'stream resource'返回类型

yftpprvb  于 2023-03-22  发布在  PHP
关注(0)|答案(1)|浏览(131)

我尝试向正在获取资源****类型的文件的函数添加返回类型,但我不知道要添加什么返回类型?我得到一个错误,即我的返回是资源,并且应该是资源,这让我感到困惑:P
这是我的函数(在这个函数中发生了更多的事情来创建文件路径,但我把它省略了,因为它是无关紧要的。

private function getMappingExportFile(JobParameters $jobParameters): \resource
{
    return fopen($filePath,"r");
}

这是我得到的错误

::getMappingExportFile() must be an instance of resource, resource returned

如果if删除返回类型,一切都很好,但我更喜欢让我的代码更严格。

p1tboqfb

p1tboqfb1#

截至2023年3月,这似乎仍然是不可能的。正如@Keutelvocht评论的那样,关于为什么会这样的更多信息,可以在PHP 7 and strict "resource" types中找到
但是,你仍然可以在你的函数上面使用一个docblock(柔和地)typehint。

/**
 * @param JobParameters $jobParameters
 * @return resource
 */
private function getMappingExportFile(JobParameters $jobParameters)
{
    return fopen($filePath,"r");
}

相关问题