こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在5社経験している、13年目エンジニアです。
この記事では、 Laravelで指定した文字列で始まっているかを確認できるStr::startsWithメソッドについて
- Str::startsWithメソッドとは
- Str::startsWithメソッドを使ったサンプルプログラム
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows11 |
---|---|
PHPのバージョン | 8.2.4 |
Laravelのバージョン | 10.45.1 |
この記事では
C:\Laravel
配下に【LaravelSample】という名前でプロジェクトを作成しています。
Str::startsWithメソッドとは
Str::startsWithメソッドとは、第一引数で指定した文字列が第二引数で指定した文字列で始まっているかどうかを判定してbool値を返すメソッドです。
始まっているのであればtrue、そうでなければfalseを返します。
Str::startsWithメソッドを使うためには
1 |
use Illuminate\Support\Str; |
を宣言する必要があります。
使い方サンプルは下記になります。
1 |
$result = Str::startsWith('ababababab', 'ab'); |
上記の例だとresultにはtrueが返されます。
では、次の章で実際に使ってみます。
Str::startsWithメソッドを解説するプログラムの概要
Str::startsWithメソッドを解説するプログラムは、
- コントローラー
- Bladeビュー
- web.php
3つを使います。
コントローラーは名前を【SampleController】とし、
LaravelSample\app\Http\Controllers\SampleController.php
に位置しています。
Str::startsWithメソッドを使って
- 一致している場合
- 不一致の場合
で実行して結果をまとめてBladeビューに渡します。
Bladeビューで表示させ、結果を確認します。
コントローラーからBladeビューに値を渡して表示する方法は以下の記事をご参考ください。
Bladeビューは名前を【sample.blade.php】とし、viewsディレクトリ直下に格納します。
web.phpには、【http://〇〇.〇〇.〇〇:8000/sample】でアクセスした場合、SampleControllerのStr::startsWithメソッドを確認するメソッドを呼ぶように定義します。
ちなみにweb.phpとは、ルーティングを定義することができるファイルです。
詳しくはこちらの記事をご参考ください。
コントローラー:SampleController.phpのサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<?php namespace App\Http\Controllers; use Illuminate\Support\Str; class SampleController extends Controller { public function startsWith_sample(){ // 一致している場合 $true_startsWith = ''; $abcdef = 'abcdef'; $abc = 'abc'; if (Str::startsWith($abcdef, $abc)) { $true_startsWith = $abcdef . 'は' . $abc . 'から始まっている'; } else { $true_startsWith = $abcdef . 'は' . $abc . 'から始まっていない'; } // 不一致の場合 $false_startsWith = ''; $lmnopq = 'lmnopq'; $xyz = 'xyz'; if (Str::startsWith($lmnopq, $xyz)) { $false_startsWith = $lmnopq . 'は' . $xyz . 'から始まっている'; } else { $false_startsWith = $lmnopq . 'は' . $xyz . 'から始まってない'; } return view('sample', compact('true_startsWith', 'false_startsWith')); } } |
Bladeビュー:sample.blade.phpのサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<!DOCTYPE html> <html lang="ja"> <head> <meta charaset="utf-8"> <title>Str::startsWith関数サンプル</title> </head> <body> <h3>一致している場合</h3> {{ $true_startsWith }} <h3>不一致の場合</h3> {{ $false_startsWith }} </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, 'startsWith_sample']); |
実行して確認
Str::startsWithメソッドの実行結果を確認します。
Laravelでサーバーを立ち上げるコマンドは
1 |
php artisan serve |
です。
サーバーを立ち上げるコマンドの詳細な説明は、こちらの記事をご参考ください。
- http://〇〇〇.〇〇〇.〇〇〇.〇〇〇:8000/sample
※コマンドプロンプトに記載されているURL - http://localhost:8000/sample
どちらかのURLにアクセスします。
第二引数で指定した文字列で始まっている場合のみtrueが返されていることを確認できました。
まとめ:Str::startsWithメソッドを使ってみよう
以上がLaravelで指定した文字列で始まっているかを確認できるStr::startsWithメソッドの解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント