我目前正在研究一些PHP代碼,並且試圖使它更新。我找到了一個函數,它檢索一個文件句柄(通過fopen
)。在函數中鍵入文件句柄作爲參數
返回類型是stream
。我檢查了它與
$handle = fopen("myfile.csv", "r");
var_dump(get_resource_type($handle));
如上所述,類型似乎是stream
。
當我嘗試將此對象傳遞給函數時,我無法強制使用流類型。
public function parseHandle(stream $handle){}
結束了與此錯誤消息:
Argument 1 passed to parseHandle must be an instance of stream, resource given.
當我嘗試簽名更改爲function parseHandle(resource $resource)
它產生以下錯誤:
Argument 1 passed to parseHandle must be an instance of resource, resource given
什麼是正確的數據類型和我應該如何在論據中使用它?
我知道我可以在我的函數的第一行中使用is_resource
來驗證它,但我仍然懷疑。
另一種解決方案可能是將代碼包裝在輔助類中。然後,您可以將該類作爲參數傳遞。 – gradosevic