今回使うクラス
composerでインストール
{ "require": { "gregwar/formidable": "dev-master" } }
composer.jsonを作成して、composer installすればいいだけなので
らくちんですね XD
フォーム作成
<?php session_start(); require 'vendor/autoload.php'; $html = 'form.html'; $form = new Gregwar\Formidable\Form($html); echo $form; ?>
Formidableは別ファイルからフォームを読み込むことが可能です。
フォームを使いまわしたい時とかに使えるのではないでしょうか。
<?php // ... $html = ' <form method="post"> <input type="text" name="name" required /> <button type="submit">送信</button> </form>'; $form = new Gregwar\Formidable\Form($html); // ... ?>
もしくは、上のように文字列としてformタグを定義できます。
フォーム送信後の処理
送信後の処理などはハンドルを定義します。
<?php $form->handle(function() { // フォームの送信に成功 echo "Form OK!"; }, function($errors) { // フォームの送信に失敗 // バリデーションエラーとか echo "Errors: <br/>"; foreach ($errors as $error) { echo "$error<br />"; } }); ?>
簡単ですね。
Formidableのすごいところは、
HTMLのタグにrequired属性を付けると、
自動的にバリデーションのチェックをしてくれるところです 🙂
これでフォームはほぼ完成ですが、
もしフォームのハンドルで、フォームの入力を取得したい場合は、
useを使えばいいそうです。
<?php $form->handle(function() use ($form) { //... form->getValue('name'); //... }); ?>