【CakePHP3】FormHelperとBootstrapを使ってフォームを作る

CakePHP3の便利な機能である『FormHelper』

他のフレームワークにもある機能で、面倒なHTMLの記述もしなくていいですし、CSRF対策も勝手にやってくれます。

ですが細かいカスタマイズをしようとすると、FormHelperのリファレンスをしっかり読まなければいけませんし、最初は大変ですよね。

というわけで今回は簡単にBootstrapを使ったフォームをCakePHPでも使えるようにやり方を説明していこうと思います。

スポンサーリンク

FormHelperの使い方をおさらい

FormHelperとは、コードを書くのが面倒なフォーム をすばやく簡単に作成するための機能。

・フォーム の検証(バリデーション)

・フォームのレイアウト、デザイン

などが簡単に設定できるようになる。

使い方

FormHelper::create(mixed $context=null, array $options = [])

細かい設定は$options配列で行う

$option配列には以下のようなキーと値を入れることができる。

type : get, file,post,put,delete,patchなど。作成するフォームの種類を選ぶ。フォームのmethodも自動的に設定してくれる

method : 値はtypeと同じ。typeでもmethodを設定できるが、こちらは明示的にフォームのmethodを設定する。

template: フォームで使うタグに自由に<div>などのタグで囲ったり、タグ自身にclassやstyleなどを追加できる。

FormHelperを使って自由自在にフォームをカスタマイズするには、templateを使うと簡単にできます。

詳しいことはCakePHP3のcookbookをみましょう。

https://book.cakephp.org/3.0/ja/views/helpers/form.html

実際にフォームを使ってみる

フォームをカスタマイズには、先ほど紹介した$option配列にtemplateを追加する方法が一番わかりやすくてオススメです。

サンプルコード

ごく普通のログイン画面で使われてるような、ユーザー名とパスワード、そしてログインボタンだけのフォームを作成してみました。

実際にコードを書いてみると、

こんな感じになります。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする