Ground Sunlight

Windowsで作る - Webプログラミングの開発環境(PHP)

ユーザ用ツール

サイト用ツール


サイドバー

メインメニュー

XAMPP アレンジ

道具箱

リポジトリ編

フレームワーク編

公開ソフトウェア

メタ
リンク


このページへのアクセス
今日: 1 / 昨日: 4
総計: 311

basic-library:phpdotenv:4.1

環境変数 - phpdotenv

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.jsonrequire に以下が追加されます。

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)

コメント

コメントを入力. Wiki文法が有効です:
 
basic-library/phpdotenv/4.1.txt · 最終更新: 2020/04/18 10:50 by y2sunlight