現在、私はいくつかのPHPコードを調査しており、最新のものにしようとしています。ファイルハンドルを取得する関数が見つかりました(fopen
経由)。関数の引数としてfilehandleの型をヒンティングする
returntypeはstream
です。私はそれをチェックしました
$handle = fopen("myfile.csv", "r");
var_dump(get_resource_type($handle));
前述のように、タイプはstream
と思われます。
このオブジェクトを関数に渡そうとすると、ストリームで強制的にその型を強制することはできません。
public function parseHandle(stream $handle){}
は、このエラーメッセージで終了:私はfunction parseHandle(resource $resource)
に署名を変更しようとすると
Argument 1 passed to parseHandle must be an instance of stream, resource given.
それは次のようなエラーが得られます。
Argument 1 passed to parseHandle must be an instance of resource, resource given
正しいデータ型は何とどのように私は議論でそれを使用する必要がありますか?
私はis_resource
を私の関数の最初の行に使用することができますが、私はまだ疑問に思っています。
代替ソリューションは、ヘルパークラスにコードをラップすることができます。そのクラスを引数として渡すことができます。 – gradosevic