【PHP8.x】stream_context_set_default関数の使い方
作成日: 更新日:
stream_context_set_default関数は、PHPアプリケーション内で実行されるストリーム操作に対する、共通のデフォルト設定を定義・適用する関数です。この関数を利用することで、ファイルアクセスやネットワーク通信といったストリーム関連の処理において、個々の操作ごとに設定を記述する手間を省き、一貫した動作を保証することができます。
具体的には、HTTPリクエストのタイムアウト時間、カスタムHTTPヘッダーの追加、SSL/TLS接続における証明書の検証方法、プロキシの使用といった詳細なオプションを、デフォルトのコンテキストとして設定することが可能です。設定は、オプションとその値を含む連想配列として引数に渡します。この配列の形式は、stream_context_create()
関数が受け入れるものと同様です。
一度stream_context_set_default()
関数で設定されたデフォルトコンテキストは、その後に実行されるfile_get_contents()
やfopen()
など、明示的にコンテキストが指定されていないすべてのストリーム操作に自動的に適用されます。これにより、アプリケーション全体で特定のポリシーや挙動を統一したい場合に非常に役立ちます。関数が成功すると、設定されたストリームコンテキストを表すリソースが返されます。
基本的な使い方
構文(syntax)
stream_context_set_default([
'http' => [
'user_agent' => 'MyApplication/1.0',
],
]);
引数(parameters)
array $options
- array $options: ストリームコンテキストのデフォルトオプションを指定する連想配列
戻り値(return)
resource
stream_context_set_default 関数は、デフォルトのストリームコンテキストリソースを返します。このリソースは、後続のストリーム操作でデフォルトとして使用されます。