Laravelのregister.blade.phpの「__(‘Name’)」が何かを調べた

Laravelのregister.blade.phpの「__('Name')」が何かを調べた

631 回閲覧されました

みなさんこんにちは、jonioです。

Laravelでログインする時のツールにBreezeがありますが仕組みについて調べている時に「Laravelのプロジェクト > resources > views > auth > register.blade.php」の中で「__(‘Name’)」を見つけました。

↓がregister.blade.phpです。

「__(‘Name’)」以外にも「__(  )」があるのが確認できます。

気になって調べた結果をまとめた記事です。

 

へルパ関数

「__」ですがLaravelが用意した関数でへルパ関数と言います。

 

__はどんな関数?

「Laravelのプロジェクト > config > app.php」の中のlocaleの項目(↓の12行目)に記載の言語ファイル(↓はja)を参照して翻訳した文字列を出力する関数です。

出力の方法は2通りあります。

 

言語ファイルがphp

例えばapp.phpのlocaleの項目をjaにしているなら「{{ __(‘messages.japan’) }}」の場合は「Laravelのプロジェクト > resources > lang 」の下にjaフォルダを作りその下にmessages.phpを作成します。(黄色の背景色の文字・緑色の背景色の文字を対応させます)

「{{ __(‘messages.japan’) }}」は「{{ __(‘フォルダ名.項目名‘) }}」です。

そしてmessages.phpの中に↓の記述をします。

これで「{{ __(‘messages.japan‘) }}」は「日本」と表示されます。

↑の青色の背景色の中の文字とmessagesの中のjapanの項目の文字を対応させます。

 

言語ファイルがjson

例えば今回調べていて気になった「{{ __(‘Name’) }}」だとapp.phpのlocaleの項目がjaなら「Laravelのプロジェクト > resources > lang 」の下にja.jsonを作成します。

そしてja.jsonの中に↓の記述をします。

これで「{{ __(‘Name’) }}」はいさじと表示されます。