フォーム自動生成モジュール「InfyOm Laravel Generator」を使ってみた

前回に引き続きの投稿です。
今回は、InfyOm Laravel Generator で、フォームを作成してみます。

前回の記事を見たい方は、こちらをご覧ください。

フォーム自動生成モジュール「InfyOm Laravel Generator」を導入した

はじめに

フォームを作成する方法としては、対話形式とファイル読込形式があります。

対話形式は、以下のコマンドを実行すると、1フィールドずつ設定ができます。
*product の部分がモデル名になります。

初めはこれでやってもよいのですが、
フォームの再作成をする度に入力するのが面倒なので、今回はファイル読込形式の流れを記載します。

ファイル読込形式では、jsonファイルを利用しますので、まずは、jsonファイルを作成します。

フォーム基本情報用jsonファイル作成

*id, created_at, updated_at は、固定値で指定する感じが良いかと思います。
設定できる項目を、以下にまとめました。

フィールド名 概要 サンプル値
 name フィールド名を指定  title
 dbType DBのカラムタイプを指定
increments, string, integer,text,timestamp
 string
 htmlType フィールドの表示タイプを指定
text,textarea,number,date,email,
password,file,select,checkbox,radio
 text
 validations 入力チェックルールを記載  required
 searchable 検索対象にするかどうか
true or false
 true
 fillable Export処理で出力対象にするかどうか
true or false
 true
 primary 主キー
true or false
 true
 inForm 入力フィールドとして表示するかどうか
true or false
 false
 inIndex 一覧に表示するかどうか
true or false
 true

dbTypeがデータベースの型になります。
そして、htmlTypeが入力フィールドタイプになります。

標準で、テキストフィールド(指定なし、数値のみ、日付、メール)、テキストエリア、
パスワードフィールド、ファイル選択、セレクトボックス、チェックボックス、ラジオボタンが設定できます。

サンプルで作成したjsonファイルがこちらです。
商品名を登録するフォームを作ってみます。

フォーム作成処理

以下のコマンドを実行し、作成処理を開始します。

テーブルを作成するか聞かれるので、1回目は、「yes」を入力してください。

以下が私の環境で実行した結果です。

 表示確認

検索機能付き一覧表示、新規登録、編集、削除機能が搭載されたフォームが出来上がっていれば、成功です。

 

フォームが出来上がるまでの動画も作っていたので、載せておきます。

この動画で使っているソースは、こちらです。

https://github.com/nonoichi123/MyFormUsingInfyomLaravelGenerator

 

補足

フォーム削除処理

作成したフォームを削除する際は以下のコマンドを実行します。

*テーブルが正常に削除されないことがあるので、削除されていなかったら手動で削除してください。

その他のフィールドタイプの設定

サンプルjsonファイルになかったフィールドタイプを以下に記載しました。

日付フィールドです。

セレクトボックスです。

外部キーを指定することも可能です。
ただ、選択肢はJavaScriptを使って動的に設定しないといけないです。

チェックボックスです。

隠しフィールドです。

数値フィールドです。

パスワードフィールドです。

ファイル添付のフィールドです。

自動生成されるファイルのテンプレート

Infyom を利用することで、フォームが自動で作成されますが、
以下のディレクトリにあるファイルをコピーして、
コントローラーファイルやテンプレートファイルが作成される流れになっています。
そのため、デザインを変更したかったり、IDやクラス名を設定したい場合などは、
こちらのファイルを変更して、フォーム作成コマンドを再実行すると、変更内容が反映されます。

./resources/infyom/infyom-generator-templates

SNSでもご購読できます。

こちらの投稿もいかがですか

コメントを残す

*