メインメニュー
XAMPP アレンジ
IED
WSL2
-
道具箱
リポジトリ編
フレームワーク編
公開ソフトウェア
メタ
リンク
- PHP ライブラリ
- PHP 言語
basic-library:phpdotenv:4.1環境変数 - phpdotenv
Version 4.1 (BSD 3-Clause License)
— y2sunlight 2020-03-11
関連記事
- 環境変数 - phpdotenv
リンク
- 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
に以下が追加されます。- composer.json
{ "require": { "vlucas/phpdotenv": "^4.1" } }
テストプログラム
パッケージのテストフォルダ(
test\
)に、環境ファイル(.env
)とテスト用のコード(dotenv.php
)を作成します。.env
は、phpのgetenv()に新しい機能を追加します。getenv()は従来どおり、$_ENV と $_SERVER変数 にアクセスできる事に加えて、ユーザ定義の変数を.env
ファイルから取得できるようになります。- phpdotenv.php
<?php require __DIR__.'/../vendor/autoload.php'; // dotenvの初期化(.envの保存場所指定をカレントに設定) $env_path = __DIR__; $dotenv = Dotenv\Dotenv::createImmutable($env_path); $dotenv->load(); // 値を取得 $app_name = getenv('APP_NAME'); // .envより取得 $ip = getenv('REMOTE_ADDR'); // $_ENV['REMOTE_ADDR']より取得 echo "$app_name($ip)";
- .env
APP_NAME=hogeApp
実行結果
hogeApp(::1)
basic-library/phpdotenv/4.1.txt · 最終更新: 2020/04/18 10:50 by y2sunlight
コメント