LoginSignup
3
1

More than 3 years have passed since last update.

環境変数について

Last updated at Posted at 2020-11-12

環境変数とは

変数:
 ソースコード内に格納する変数。

環境変数:
 OSに格納する変数。開発環境により値が異なる。ソースコードには、値が記載されないため値がコードから値がバレることはない。

$pass = 'asdf' → バレる。(変数)

$pass = $_PASSWORD → バレない(環境変数) ※OS内で $_PASSWORD = 'asdf'を定義。

.envファイルについて

phpでは環境変数を使用する時【.env】を使用する。
.envファイルに記載された設定はOSに保存される。

例)

.env

PASSWORD=password

取り出し方

$_ENV['PASSWORD']

phpdotenvについて

実際に.envに定義された環境変数をOSに反映させるためのライブラリ。

【インストール手順】

1) composer.jsonの設定

composer init
composer.json
#作成される。

{
    "name": "root/html",
    "require": {}
}

インストールする。

composer require vlucas/phpdotenv
composer.json
#反映される。

{
    "name": "root/html",
    "require": {
        "vlucas/phpdotenv": "^5.2"
    }
}

実際のインストール先はvendorディレクトリの中。
vendor / vlucas / phpdotenv / src 配下に格納される。

2).envの設定

ルート直下に .env を作成。

実際の環境変数を記載

.env

DB_HOST="db"
DB_USERNAME="user"
DB_PASSWORD="pass"
DB_DBNAME="books"

phpdotenvを用いて環境変数をロードする記載

#オートロードを読み込む。個別のライブラリを読み込まなくてすむ。
require __DIR__ . '/vendor/autoload.php';

$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
#( .env があるディレクトリを指定)
$dotenv->load();
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1