この段落に続くコード スニペットでは、Test_Stream オブジェクトを使用して、test という名前のストリーム ラッパーを作成しています。ストリーム コンテキストを使用しようとしていますが、いくつか質問があります。まず、コードは次のとおりです。
<?php
class Test_Stream {
public $context;
public function __construct()
{
print_r(stream_context_get_options($this->context));
exit;
}
}
$context = array(
'test' => array('key' => 'value'),
'otherwrapper' => array('key' =>'value')
);
$context = stream_context_create($context);
stream_wrapper_register('test', 'Test_Stream');
$fp = fopen('test://www.domain.tld/whatever', 'r', false, $context);
そのため、現在、そのコード スニペットでは、Test_Stream が「テスト」ストリーム ラッパーに登録されていますが、... ラッパー名がどうなるかを事前に知らなかった場合や、開発者が決定します。クラス内のラッパー名をどのように知ることができますか? 適切なコンテキスト オプションを取得するには、事前に知っておく必要があるように思えますが (最初のコンテキスト オプション配列が正しいと仮定しない限り)、事前に知っていなかったらどうでしょうか?