3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Laravel ヘルパ関数のconfigを使って連想配列からキーとバリューを取得する方法

Last updated at Posted at 2021-06-04

こんにちは、JeffTechです。

説明

今回は、configディレクトリの中に自作したwords.phpの連想配列から、データを取り出す方法を書いていきます。

コード内にてハードコードで書くよりも、こちらに必要な文字データをまとめておいて、config()で取得するとメンテナンス等しやすくなるので、とてもおすすめです。

開発環境

OS: MacOS
PHP: 7.3.11
Laravel: 6.2

実装

今回自作したconfig/words.phpは以下の通りです。

words.php
<?php

return [
    'fruits' => [
        'apple' => ['APPLE' => 'りんご'],
        'banana' => ['BANANA' => 'ばなな'],
        'grape' => ['GRAPE', 'ぶどう'],
    ],
    'snack' => [
        'chips' => [
            'potato' => ['POTATO' => 'ポテトチップス'],
            'sweetPotato' => ['SWEET POTATO' => 'さつまいもチップス'],
        ],
        'gumi' => [
            'soft' => ['SOFT' => 'やわらかいグミ'],
            'hard' => ['HARD' => 'ハードグミ'],
        ]
    ],
];

この中から値を取得するためには、PHPのビルトイン関数であるkey()とLaravelのヘルパ関数であるconfigの2つを使用して取得できます。

ControllerやModelなどで下記のようなコードを記述することで、config/words.phpのデータを取得することができます。

今回は例として、Controller内で取得しています。
※適当に作成したConfigCheckControllerで動作確認を行っております。

ConfigCheckController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class ConfigCheckController extends Controller
{
    public function index()
    {
        // BANANA と出力される
        $keyTest1 = key(config('words.fruits.banana'));

        // SWEET POTATO と出力される
        $keyTest2 = key(config('words.snack.chips.sweetPotato'));
        
        // ばなな と出力される
        $valueTest1 = config('words.fruits.banana.BANANA');
        
        // さつまいもチップス と出力される
        $valueTest2 = config('words.snack.chips.sweetPotato.SWEET POTATO');

        // 取得確認用
        dd($keyTest1, $keyTest2, $valueTest1, $valueTest2);
        return view('welcome');
    }
}

しっかり取得できましたか?

最後に

少しでも役に立った!という時は、いいねをポチッとして
フォローしてくださると嬉しいです、、、笑

役に立たなかった時は、怒らないでコメント頂けますと幸いです笑

Twitterもやってますので、よかったら見てみてくださいね!
https://twitter.com/jefftechsaku

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?