きまブログ

2022-12から再開しました。

自動コード生成のための補習 - Scaffold(View)編

手書きからコード自動生成へ - Scaffold(View)編

「oil generate controller」で生成した時と同様、
Controller_Templateを継承しているので、
/views/template.php から呼び出されます。


※ templateで呼び出されるbootstrapについては、
いずれ勉強したいと思います。。

/fuel/app/views/testscaffold$ ls -1
create.php
edit.php
_form.php
index.php
view.php

生成された5つのviewファイル。

create.php
  1. render(’testscaffld/_form’);

ちょっと、ナゾですが。。
_form.phpの内容を展開してるんだと思います。
この使い方。。requireじゃダメなわけ?

edit.php

(構成要素としては、create.phpと同じ。)

_form.php

今回、生成されたViewの中でキーになるファイル。
create,editで呼び出され、ブラウザからの入力部分
ファイル名のとおりフォームを生成します。


Formクラスは、いわゆるFormヘルパーというヤツで、
引数でパラメータを指定しつつ、
フォームに関連するタグを出力(置換)してくれます。
view にタグを書いても、Formクラスを使って書いても一緒のような気がしますが、
動的に変えたい選択肢とかを出力する際には、
Viewでforeachするよりもスマートに書けると思いますが。。
まだ、よくわかりません。。


それぞれのメソッドは、
/fuel/core/classes/form/instance.php で定義されているようです。

  1. Form::open()

<form>タグを出力します。

  1. Form::label()

<label>タグを出力します。第二引数が対応するidです。

  1. Form::textarea()

<textarea>タグを出力します。

  1. Form::submit()

<submit>タグを出力します。

  1. Form::close()

</form>タグを出力します。


Formクラスの使い方の詳細はこちら。
Form - クラス - FuelPHP ドキュメント

index.php

(新登場なし)

view.php

(新登場なし)