このブログは未経験からのエンジニア転職やプログラミングの勉強方法などを発信する、現役エンジニアによるエンジニアのためのトータル技術ブログです。ブログとご一緒にSNSのフォローもよろしくお願いします。

Twitterをフォローする

【Laravel】laravelcollective での フォーム作成の方法をまとめてみた

Laravel
スポンサーリンク

こんにちは!あっきーです!

Laravel では Form を作るのに直接 View テンプレートに記述する以外にも方法があります。

それはヘルパー関数を使う方法です。

今回はヘルパー関数を使用した Form の作り方を紹介していこうを思います。

スポンサーリンク

さいしょに

イメージとして以下の画像をベースにシンプルなフォームをつくっていきます。
Twitter っぽい投稿画面をイメージしてみました。

 

はじめる前に HTML で記述できるのになんでわざわざヘルパー関数を使用する必要があるのだろうかと思いませんか?

もちろん HTML での記述でもかまわないのですがヘルパー関数を使うことで以下のようなメリットがあります。

 

・トークンが自動で生成されるためセキュリティ性が高くなる
・月の選択など長くなる記述が簡潔にできる

 

・トークンが自動で生成されるためセキュリティ性が高くなる

ヘルパー関数を使用してフォームタグを生成する場合は以下のように記述します。

 

 

先ほどのコードをWeb ブラウザの HTML ソースコード上で確認すると以下のようにタグが生成されています。

 

 

フォーム内に hidden でトークン値が自動で発行されていることが確認できます。これにより CSRF などによる被害を防ぐことが可能です。

以前にセキュリティに関する記事を書きましたので CSRF などのセキュリティ被害について知りたい人は以下の記事を参考にしてください。

 

現役セキュリティエンジニアが語る。PayPay から学ぶセキュリティ対策
わんぽち PayPay の20%還元キャンペーンはすごかったわん! きつね先生 そうですね。ですがいいことがある裏では必ず悪い人が動くもので悲しいです。 ...

 

・月の選択など長くなる記述が簡潔にできる

 

 

セレクトボックスで月の選択をするタグを記述するのに上記のようにしてもいいのですが、コードが長くなってしまいますしもう少し簡潔にかけたらありがたいですよね。

ヘルパー関数でしたら一行で記述可能です。

 

以上のことかたヘルパー関数をつかった方が圧倒的にメリットはあるのかなと個人的には思いますので是非つかってみてはいかがでしょうか!

では、実際に使い方を説明していきます。

Composer でパッケージのインストール

今回のヘルパー関数を使用するためにはまず laravelcollective/html のパッケージをインストールする必要があります。

laravel プロジェクトに移動してコマンドラインでパッケージをインストールします。

 

・パッケージのインストール

ターミナル

 

composer のパッケージは vender/laravelcollective/html の階層にインストールされます。

これで laravelcollective がクラスとして Laravel に組み込まれましたのでヘルパー関数での記述が可能になりました。

投稿ページをつくってみる

デモとして画像のような投稿ページをつくっていきます。
コピペで使用可能ですので参考にしてみてください。

ベースレイアウト

resources/views/layouts/BBSapp.blade.php

ビュー(投稿ページ)

resources/views/BBS/add.blade.php

コントローラー

app/ahttp/Controllers/PagesController.php

今回は「add.blade.php」のPost値を「regist.blade.php」に受け渡すというシンプルな記述にしています。

Post の値を表示する

resources/views/BBS/regist.blade.php

ルーティング

routes/web.php

以上で完成です。https://ドメイン/BBS/add にアクセスすると投稿ページが表示されます。
お疲れ様でした。

さいごに

さいごまで読んでいただきありがとうございます。

フォームの記述を簡単にできないか調べていたら laravelcollective に関しての記事がありましたので忘備録的な記事として書いてみました。

Post内容をデータベースに保存したり、その他のヘルパー関数についてのまとめなどもしてまた記事にしていけたらと思います。

それでは、また次回の記事でお会いしましょう!

スポンサーリンク
あっきー

元キャバクラ店長から未経験でエンジニアに転職した異端児。

自分の経験を元に、エンジニア転職や未経験からでも挫折しないプログラミングの勉強方法の発信をしてます。

あっきーをフォローする
LaravelPHP
\良い記事だったらシェアしてね!/
スポンサーリンク
駆け出しエンジニアのつぶやき