こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。
この記事では、 Laravelで文字列をスネークケースに変換できるStr::snakeメソッドについて
- Str::snakeメソッドとは
- Str::snakeメソッドを使ったサンプルプログラム
と、丁寧に解説していきます。
キャメルケースなど、ほかの変換するメソッドについてはこちらの記事をご参考ください。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
Laravelのバージョン | 8.10.0 |
この記事では
C:\Laravel\LaravelSample
配下にLaravelのプロジェクトを作成しています。
Laravelのインストールのやり方については、以下の記事をご参考ください。
スネークケースとは
そもそものスネークケースについて軽く解説します。
スネークケースとは、
- get_data
- test_flg
のように単語と単語を「_(アンダースコア)」でつなげる表記方法です。
スネークケースではすべての文字を小文字で使います。
Str::snakeメソッドとは
では本題に入ります。
Str::snakeメソッドとは、引数に指定された文字列をスネークケースに変換して返すメソッドです。
Str::snakeメソッドを使うためには
1 |
use Illuminate\Support\Str; |
を宣言する必要があります。
使い方サンプルは下記になります。
1 |
$result = Str::snake('hogeHoge'); |
上記の例だと変数resultには「hoge_hoge」という値が返されます。
では、次の章で実際に使って解説します。
Str::snakeメソッドを解説するプログラムの概要
Str::snakeメソッドを解説するプログラムは、
- コントローラー
- Bladeビュー
- routes\web.php
3つを使います。
コントローラーは名前を【SampleController】とし、
LaravelSample\app\Http\Controllers\SampleController.php
に位置しています。
関数内でいくつかの文字列に対してスネークケースへ変換し、それらをまとめてBladeビューに渡します。
コントローラーからBladeビューに値を渡す方法については、こちらの記事をご参考ください。
Bladeビューは名前を【printsample.blade.php】とし、viewsディレクトリ直下に格納します。
コントローラーから渡された配列を表示します。
routes\web.phpには、【http://〇〇.〇〇.〇〇:8000/showvalue】でアクセスした場合、SampleControllerの関数を呼ぶように設定します。
SampleController.phpのサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php namespace App\Http\Controllers; use Illuminate\Support\Str; use App\Http\Controllers\Controller; class SampleController extends Controller { public function showValue(){ $snake_array = array( 'hogeHoge' => Str::snake('hogeHoge'), 'Test' => Str::snake('Test'), 'hogE_hogE' => Str::snake('hogE_hogE'), 'TEST' => Str::snake('TEST')); return view('printsample', compact('snake_array')); } } |
コントローラーで使っている
- array関数
- compact関数
については、こちらの記事をご参考ください。
printsample.blade.phpのサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>サンプル</title> </head> <body> <h1>スネークケース変換サンプルページ</h1> @foreach($snake_array as $key => $value) <p>元の値:{{$key}} → 変換後{{$value}}</p> @endforeach </body> </html> |
web.phpのサンプルプログラム
1 2 3 4 5 6 7 |
<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\SampleController; Route::get('/showvalue', [SampleController::class, 'showValue']); |
実行して確認
スネークケースに変換できているかを実行して確認します。
Laravelでサーバーを立ち上げるコマンドは
1 |
php artisan serve |
です。
サーバーを立ち上げるコマンドの詳細な説明は、こちらの記事をご参考ください。
- http://〇〇〇.〇〇〇.〇〇〇.〇〇〇:8000/showvalue
※コマンドプロンプトに記載されているURL - http://localhost:8000/showvalue
どちらかのURLにアクセスすれば、文字列がスネークケースに変換できていることを確認できます!
まとめ:Laravelで文字列をスネークケースに変換するときはStr::snakeメソッドを使ってみよう
以上がLaravelのStr::snakeメソッドの解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント