初めまして、ロジカルスタジオPR部のyamaです
今年の春入社しました。
バックエンド
エンジニア
YAMA
最近よく思うことは、
一人当たりのの脳みその数が増えれば、世界は広がりそう。ということです。
バックエンド
エンジニア
YAMA
みなさんは、Laravelというフレームワークを聞いたことがあるでしょうか?
PHPのフレームワークの一つで、近年人気の高いものになります。
弊社でも業務で利用しており、今年の研修では、Laravelを使用したフォームの作成を行いました。
そこで、研修で利用したLaravelの便利な関数についてご紹介させていただきます!!
Laravelは、MVCのWebアプリケーション開発用の無料・オープンソースのPHPで書かれたWebアプリケーションフレームワークである。
出典 Wikipedia
紹介する機能
今回紹介するのはこの4項目です!
- debug用のヘルパ-関数
- old()
- flashInput()
- getOldInput()
debug用のヘルパー関数
✔ヘルパー関数とは、開発をサポートしてくれる関数のことです。
✔ 今回は、debug時に使用する関数の中で基本的な二つを紹介します。
dd()
dd()は、処理が記述した場所で止まり、引数を表示してくれます。
参考コード
$example = [
'A' => 'apple pie',
'B' => 'Biscuit',
'C' => 'Chocolate',
];
dd($example);
実行結果
dump()
dump()は、dd()とは逆に、処理が止まらず最後まで実行後、中身を表示してくれます。
参考コード
$example = [
'A' => 'apple pie',
'B' => 'Biscuit',
'C' => 'Chocolate',
];
dump($example)
実行結果
表示のされ方は、実行結果を見ていただいたらわかる通り、基本的に同じです。
「▶」の部分をクリックすると、折りたたまれた部分が表示されます。
使い分けになりますが、dd()のほうが、利便性が高く利用することが多いです。
理由としては、処理が記載したところで止まるため、明確で使いやすいからです。
old()
これは、フォーム作成時などに便利な関数になります。 フォームに入力された値を取得してくれます。
これによって、バリデーションも簡単に実装できます。
ここでは、基本的な2パターンの紹介をさせていただきます。
参考コードは、どちらもユーザーがキーボードで文字などを入力できるフィールドを作成するものです。
入力できるフィールドが、単一行か複数行の違いかになります。
参考コード
// 単一行
<input type="text" name="name" value="{{ old('name') }}" >
// 複数行
<textarea name="text" rows="10">{{ old('text') }}</textarea>
flashInput()とgetOldInput()
この二つは、セッション情報に値を格納する関数と、取得するときに利用できる関数になります。
セッション情報に値を格納しておけば、ページを遷移した時にも、必要な値を手軽に取り出せます。
flashInput()で格納したデータは、1リクエストまで保持されるフラッシュオブジェクトです。
getOldInput()はフラッシュオブジェクトの値を取得できるので、flashInput()で格納した値も取得できます。
参考コード
// 値の格納
session()->flashInput();
// 値の取得
$example= session()->getOldInput();
最後に
今回紹介した関数の機能と同じことが、別の方法でも行えるケースがあります。
複数の実装方法がある場合は、その時の最適解を考えていくことが大切です!
この記事以外にも、弊社では様々な業種の方が毎週ブログを執筆しており、ご興味があれば、そちらもお読みいただけると幸いです。
弊社では、様々な業種のエンジニアを募集しています!
少しでも興味を持っていただけた方はぜひ採用サイトからご応募お願いします!