こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 LaravelでConfigファイルから値を取得するやり方を解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
PHPのバージョン | 8.0.3 |
Laravelのバージョン | 8.42.1 |
この記事では
C:\Laravel\LaravelSample
配下にLaravelのプロジェクトを作成しています。
Configから値を取得するやり方を解説
Configから値を取得するやり方を
- Configファイルを作成するやり方
- Configファイルの書き方
- Configファイルから値を取得するやり方
という順で解説します。
Configファイルを作成するやり方
Configファイルを作成するやり方の解説をします。
コントローラーやモデルを作成するときは、コマンドを使って作成しました。
が、Configファイルには作成するためのコマンドがありません。
phpファイルを作成し
【プロジェクト】\config
配下に格納する必要があります。
すでにあるConfigファイルをコピペして作成するのが簡単なやり方です。
Configファイルの書き方
Configファイルの書き方の解説をします。
Configファイルのサンプルは以下です。
1 2 3 4 5 6 7 |
<?php return [ 'test' => [ 'sample' => 'サンプル', 'hogehoge' => 'ほげほげ' ] ]; |
定数を配列で定義してreturnすればOKです。
Configファイルから値を取得するやり方
Configファイルから値を取得するやり方を解説します。
先ほどのConfigファイル名を【sample.php】として、configフォルダ直下に格納されている、とします。
値を取得するには以下のように記載します。
1 |
$result = config('sample.test'); |
config関数の引数に、ファイル名とアクセスしたいオプションをドットでつなげて指定します。
上記の書き方だとresultには
1 2 3 4 |
[ 'sample' => 'サンプル', 'hogehoge' => 'ほげほげ' ] |
という連想配列が格納されます。
ちなみに、config関数を使うためにuseを宣言する必要はありません。
では、次の章で実際に使ってみます。
Configファイルから値の取得を解説するプログラムの概要
Configファイルから値の取得を解説するプログラムは、
- Configファイル
- コントローラー
- Bladeビュー
- web.php
4つを使います。
Configファイルは、名前を【fruit.php】とし、
【プロジェクト】\config\const\fruit.php
に格納します。
コントローラーは名前を【SampleController.php】とし、Configファイルから取得した配列をBladeビューに渡します。
コントローラーからBladeビューに値を渡す方法については、こちらの記事をご参考ください。
Bladeビューは名前を【show_sample.blade.php】とし、viewsディレクトリ直下に格納します。
ビューでコントローラーから受け取った配列の中身を表示します。
web.phpには、【http://〇〇.〇〇.〇〇:8000/show】でアクセスした場合、SampleControllerの【show_sample.blade.php】を呼ぶ関数を呼ぶように定義します。
Configファイル:fruit.phpのサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php return [ 'citrus' => [ 'lemon' => 'レモン', 'citron' => '柚子', 'pomelo' => 'ブンタン' ], 'berry' => [ 'strawberry' => 'イチゴ', 'raspberry' => 'ラズベリー' ], ]; |
コントローラー:SampleController.phpのサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php namespace App\Http\Controllers; class SampleController extends Controller { public function show(){ $citrus = config('const.fruit.citrus'); $berry = config('const.fruit.berry'); return view('show_sample', compact('citrus', 'berry')); } } |
compact関数は、引数に指定した変数名をキー、その変数の値を値とする連想配列を作成して返す関数です。
詳しくはこちらの記事をご参考ください。
Bladeビュー:show_sample.blade.phpのサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>サンプル</title> </head> <body> <h1>config取得サンプルページ</h1> <strong>柑橘類を表示</strong> @foreach($citrus as $key => $value) <p>{{$key}}->{{$value}}</p> @endforeach <strong>ベリー類を表示</strong> @foreach($berry as $key => $value) <p>{{$key}}->{{$value}}</p> @endforeach </body> </html> |
@foreachディレクティブとは、Bladeビューで繰り返し処理ができるディレクティブです。
詳しくはこちらの記事をご参考ください。
web.phpのサンプルプログラム
1 2 3 4 5 6 7 |
<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\SampleController; Route::get('/show', [SampleController::class, 'show']); |
web.phpとは、ルーティングを定義することができるファイルです。
詳しくはこちらの記事をご参考ください。
実行して確認
本当にConfigファイルから値を取得することができているのかを実行して確認します。
Laravelでサーバーを立ち上げるコマンドは
1 |
php artisan serve |
です。
サーバーを立ち上げるコマンドの詳細な説明は、こちらの記事をご参考ください。
- http://〇〇〇.〇〇〇.〇〇〇.〇〇〇:8000/show
※コマンドプロンプトに記載されているURL - http://localhost:8000/show
どちらかのURLにアクセスすれば、Configファイルから値を取得できていることが確認できます!
まとめ:Configファイルから値を取得してみよう
以上がLaravelのConfigファイルから値を取得するやり方の解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント