はじめに
【対象】
- PHPでの開発がメインでない方、PHPで指定した環境変数を取得したい方
- composer(phpdotenv)をインストールせずに取得できる方法を探している方
環境
PHP:version 8.3.3
取得例
config.inc
<?php
const DB_USER = 'sample-db-user';
const DB_PASS = 'sample-db-password';
const DB_NAME = 'sample-db-name';
?>
config.incファイルですが、PHPで取得する場合はその形式で書くと取得できました。
echoInc.php
<?php
include( __DIR__ . '/config.inc');
echo 'DB_USER is ' . DB_USER . "\n";
echo 'DB_PASS is ' . DB_PASS . "\n";
echo 'DB_NAME is ' . DB_NAME . "\n";
?>
. "\n":改行コード。出力結果が見えやすいように書きました。
config.incファイルとechoInc.phpの階層は同じ階層に設定しました。
出力結果
DB_USER is sample-db-user
DB_PASS is sample-db-password
DB_NAME is sample-db-name
おわりに
- 投稿初期は「config.inc」ファイルの部分を「.env」ファイルで設定していました。
- 「.env」ファイルをPHPの形式で書くことで値を取得することができましたが、他のライブラリなど使用している場合や業務で使用する場合は環境変数の取得に悪影響を与える恐れがあるためおすすめできません。
- (@YuneKichi様からコメントをいただき修正いたしました。誠にありがとうございます。)