第8章 リクエスト情報 / 第3回 模擬試験
PHPの`$_ENV`に関する次の記述のうち、正しいものはどれか。
`$_ENV`はサーバー環境変数を保持するスーパーグローバル変数である。
正解
`$_ENV`はセッション情報を保持する変数である。
`$_ENV`はCookie情報を保持する変数である。
`$_ENV`はデータベース接続情報専用の変数である。
解説
`$_ENV`は、サーバーのOS環境変数(`.env`ファイルなどを通じて設定されるアプリケーション設定値を含む)を保持するスーパーグローバル変数です。
他の選択肢が誤りである理由は次の通りです。
・セッション情報を保持するのは`$_SESSION`です。
・Cookie情報を保持するのは`$_COOKIE`です。
・`$_ENV`はデータベース接続情報専用というわけではなく、任意の環境変数を保持する汎用的な変数です。
例:
```
// 環境変数 APP_ENV=production が設定されている場合
echo $_ENV['APP_ENV'] ?? getenv('APP_ENV'); // production
```
Laravelなどのフレームワークでは、`.env`ファイルの値を読み込んで環境変数として扱う仕組みがよく使われます。
(参照: 独習PHP 第4版 第8章 リクエスト情報 8.5節 サーバー環境変数 p.380)