====== 環境変数 - phpdotenv ======
Version 4.1 ([[https://github.com/vlucas/phpdotenv/blob/master/LICENSE|BSD 3-Clause License]])
--- //[[http://www.y2sunlight.com|y2sunlight]] 2020-03-11//
[[basic-library:top|定番ライブラリー に戻る]]
関連記事
* [[basic-library:project|プロジェクトの作成 - Apricot (α版)]]
* 環境変数 - phpdotenv
* [[basic-library:monolog:2.0|ログ出力 - monolog]]
* [[basic-library:idiorm:1.5|ORマッパー - Idiorm]]
* [[basic-library:bladeone:3.37|テンプレートエンジン - BladeOne]]
* [[basic-library:fast-route:1.3|リクエストルーター - FastRoute]]
* [[basic-library:league-container:3.3|DIコンテナー - League/Container]]
* [[basic-library:valitron:1.4|バリデーター - Valitron]]
* [[basic-library:whoops:2.7|エラーハンドラー - Whoops]]
* [[basic-library:php-debugbar:1.16|デバッグ出力 - php-debugbar]]
リンク
* https://github.com/vlucas/phpdotenv --- phpdotenvの本家
テストプログラムの所在
{Project Folder}\test\
----
===== phpdotenvについて =====
phpdotenvは、定番の環境変数設定ライブラリです。.envファイルに環境変数を設定することで、''getenv()''、''$_ENV'' 及び ''$_SERVER'' から取得できます。.envに記述するフォーマットはPHPだけでなくRuby、Pythonなど他の言語でも同じで、それぞれの言語でdotenvパッケージが用意されています。
phpdotenvは、LaravelやSymfonyなどのPHPフレームワークで採用されている事を考えれば、環境変数設定についてはphpdotenv以外に考えられません。
\\
===== インストール =====
composer require vlucas/phpdotenv
Using version ^4.1 for vlucas/phpdotenv
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 3 installs, 0 updates, 0 removals
- Installing symfony/polyfill-ctype (v1.14.0): Downloading (100%)
- Installing phpoption/phpoption (1.7.2): Downloading (100%)
- Installing vlucas/phpdotenv (v4.1.2): Downloading (100%)
Writing lock file
Generating autoload files
1 package you are using is looking for funding.
Use the `composer fund` command to find out more!
>Note:
>Eclipse起動中にパッケージを取得した場合は、プロジェクト・エクスプローラー内の[プロジェクト(apricote)]を右クリックして[リフレッシュ]を選択して下さい。また、新しく取得したパッケージのインテリセンスが有効にならない場合は、プロジェクトのビルトまたはクリーン&ビルドを行ってビルドリストの更新を行って下さい。
パッケージの取得が終わると ''composer.json'' の ''require'' に以下が追加されます。
{
"require": {
"vlucas/phpdotenv": "^4.1"
}
}
\\
===== テストプログラム =====
パッケージのテストフォルダ(''test\'')に、環境ファイル(''.env'')とテスト用のコード(''dotenv.php'')を作成します。''.env''は、phpのgetenv()に新しい機能を追加します。getenv()は従来どおり、$_ENV と $_SERVER変数 にアクセスできる事に加えて、ユーザ定義の変数を ''.env''ファイルから取得できるようになります。
load();
// 値を取得
$app_name = getenv('APP_NAME'); // .envより取得
$ip = getenv('REMOTE_ADDR'); // $_ENV['REMOTE_ADDR']より取得
echo "$app_name($ip)";
APP_NAME=hogeApp
=== 実行結果 ===
hogeApp(::1)