Laravelのregister.blade.phpの「__(‘Name’)」が何かを調べた
895 回閲覧されました
みなさんこんにちは、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’) }}」はいさじと表示されます。