株式会社オートプロジェクト

【Laravel】configファイルを理解して現場で活用しよう

【Laravel】configファイルを理解して現場で活用しよう

Laravelで開発をしていると、必ず目にするのが「configディレクトリ」です。ここにはアプリケーションの設定情報が集約されており、環境ごとの切り替えやUX改善の要となる重要なファイル群といえます。また、頻繁に変更がある現場では、エンジニアの大きな助けになるファイル群でしょう。

この記事では、Laravelのconfigファイルの基本構造からカスタム設定の作成方法、そして現場での具体的な活用例までをわかりやすく解説します。

configファイルとは?

Laravelのディレクトリには、アプリケーションの設定値を管理するPHPファイルが並んでいます。これらの設定ファイルは、環境変数と連携して、動的に設定値を切り替えられる仕組みです。

主なconfigファイル例:

  • app.php:アプリ名やタイムゾーンなど
  • database.php:DB接続情報
  • mail.php:メール送信設定
  • services.php:外部API連携(LINEやSNSなど)
// config/app.php
'name' => env('APP_NAME', 'Laravel'),

env()関数を使うことで、環境ごとに異なる値を柔軟に設定できます。

自作configファイルの作成

現場では、「定数をまとめたい」「ロールを一元管理したい」といったニーズも多くあります。そんなときは、自作のconfigファイルを作成すると運用がぐっと楽になります。

ステップ1:configフォルダの下に、querstion.php を作成

return [
  'man' => [
           [
        'id' => 1,
        'name' => '健康状態について教えてください',
        'slug' => 'health_status',
           ]
   ]
  'woman' => [
           [
        'id' => 1,
        'name' => '健康状態について教えてください',
        'slug' => 'health_status',
           ],
           [
        'id' => 2,
        'name' => '妊娠経験について教えてください',
        'slug' => 'pregnant',
           ]
   ]
];

ステップ2:bladeファイルで値の取得

{{-- 男性向けの質問 --}}
@foreach (config('questions.man') as $question)
<label for="{{ $question['slug'] }}">{{ $question['name'] }}</label>
<input type="text" name="{{ $question['slug'] }}" id="{{ $question['slug'] }}">
@endforeach

{{-- 女性向けの質問 --}}
@foreach (config('questions.woman') as $question)
<label for="{{ $question['slug'] }}">{{ $question['name'] }}</label>
<input type="text" name="{{ $question['slug'] }}" id="{{ $question['slug'] }}">
@endforeach

実際の出力

// 男性向けの出力
<label for="health_status">健康状態について教えてください</label>
<input type="text" name="health_status" id="health_status">

// 女性向けの出力
<label for="health_status">健康状態について教えてください</label>
<input type="text" name="health_status" id="health_status">
<label for="pregnant">妊娠経験について教えてください</label>
<input type="text" name="pregnant" id="pregnant">

キャッシュ関係の調整

読み込み速度を上げるために、configファイルはキャッシュが可能です。

php artisan config:cache

キャッシュ後は「.env」ファイルが更新されないため、config変更時はキャッシュをクリアします。

php artisan config:clear

まとめ

ロール定義や表示フラグなど、変更頻度が低い設定はconfigファイルにまとめることでコード内で扱いやすくなります。

Laravelのconfigファイルは単なる設定の置き場ではなく、設計思想や運用効率、さらにはユーザー体験にも影響を与える重要な要素です。適切に活用することで、保守性と再発防止力がぐっと高まるでしょう。
 

エンジニアのみなさまへ

株式会社オートプロジェクトでは、中小企業向けのシステム・アプリケーション開発 / 外注サービスを提供しております。

貴社のニーズに応じた柔軟なサポートを行いますので、ぜひお気軽にご相談ください。

中小企業向けシステム・アプリケーション開発 / 外注サービスについて、オートプロジェクトに問い合わせをする

Contact ご相談・お問い合わせ

実現の可否や概算費用、納期に関するご質問・ご相談も、
どうぞご遠慮なくお問い合わせください。

お問い合わせ ご相談・お問い合わせ
TOP