こんにちは、JeffTechです。
説明
今回は、configディレクトリの中に自作したwords.php
の連想配列から、データを取り出す方法を書いていきます。
コード内にてハードコードで書くよりも、こちらに必要な文字データをまとめておいて、config()で取得するとメンテナンス等しやすくなるので、とてもおすすめです。
開発環境
OS: MacOS
PHP: 7.3.11
Laravel: 6.2
実装
今回自作したconfig/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で動作確認を行っております。
<?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