こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。
この記事では、 Laravelでランダムな文字列を生成できるStr::randomメソッドについて
- Str::randomメソッドとは
- Str::randomメソッドを使ったサンプルプログラム
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
PHPのバージョン | 8.0.3 |
Laravelのバージョン | 8.42.1 |
この記事では
C:\Laravel\LaravelSample
配下にLaravelのプロジェクトを作成しています。
Str::randomメソッドとは
Str::randomメソッドとは、引数で指定した数の長さのランダムな文字列を生成して返すメソッドです。
生成されるランダム文字列には
- 大文字
- 小文字
- 数
が含まれています。
Str::randomメソッドを使うためには
1 |
use Illuminate\Support\Str; |
を宣言する必要があります。
使い方サンプルは下記になります。
1 |
$result = Str::random(3); |
上記のサンプルでは、変数resultに3文字のランダムな文字列が返されます。
では、次の章で実際に使って解説します。
Str::randomメソッドを解説するプログラムの概要
Str::randomメソッドを解説するプログラムは、
- コントローラー
- Bladeビュー
- web.php
3つを使います。
コントローラーは名前を【SampleController】とし、
LaravelSample\app\Http\Controllers\SampleController.php
に位置しています。
関数内で5文字、10文字のランダム文字列を生成し、それらをまとめてBladeビューに渡します。
Bladeビューで表示させ、結果を確認します。
コントローラーからBladeビューに値を渡して表示する方法は以下の記事をご参考ください。
Bladeビューは名前を【random_sample.blade.php】とし、viewsディレクトリ直下に格納します。
web.phpには、【http://〇〇.〇〇.〇〇:8000/sample】でアクセスした場合、SampleControllerのランダム文字列を作成するメソッドを呼ぶように定義します。
ちなみにweb.phpとは、ルーティングを定義することができるファイルです。
詳しくはこちらの記事をご参考ください。
コントローラー:SampleController.phpのサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php namespace App\Http\Controllers; use Illuminate\Support\Str; class SampleController extends Controller { public function random_sample() { $random1 = Str::random(5); $random2 = Str::random(10); return view('random_sample', compact('random1', 'random2')); } } |
Bladeビュー:random_sample.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>Str::randomサンプル</title> </head> <body> <h3>5文字のランダム文字列</h3> <p>{{$random1}}</p> <h3>10文字のランダム文字列</h3> <p>{{$random2}}</p> </body> </html> |
web.phpのサンプルプログラム
1 2 3 4 5 6 |
<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\SampleController; Route::get('/sample', [SampleController::class, 'random_sample']); |
実行して確認
本当にランダム文字列が生成できているのかを実行して確認します。
Laravelでサーバーを立ち上げるコマンドは
1 |
php artisan serve |
です。
サーバーを立ち上げるコマンドの詳細な説明は、こちらの記事をご参考ください。
- http://〇〇〇.〇〇〇.〇〇〇.〇〇〇:8000/sample
※コマンドプロンプトに記載されているURL - http://localhost:8000/sample
どちらかのURLにアクセスすれば、ランダム文字列が生成できていることが確認できます。
まとめ:ランダム文字列を生成したいときはStr::randomメソッドを使ってみよう
以上がLaravelでランダム文字列を生成できるStr::randomメソッドの解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント