0

フォーム作成用の見栄えの良いクラスを見つけました。ただし、データベースからの出力を使用して、フォームを動的に作成する必要があります。フォームは次のように作成されています。

$form->addElement(new Element\Textbox("Name:", "Name", array(
    "required" => 1
)));

したがって、別のフォームを追加したい場合は、に変更new Element\Textboxする必要がありnew Element\Passwordます。次のようなデータベースの結果に基づいてフォームを作成することは可能ですか:

foreach ($fields as $field) {
$form->addElement(new Element\$field->type("Name:", "Name", array(
    "required" => 1
)));
}

今のところ、私には合っていないようです。もちろん、機能していません。私の質問は、このフォームを別の方法で動的に出力できますか、それとも別のクラスをチェックする必要がありますか?

4

1 に答える 1

1

$field->type がクラス名の有効な文字列の場合、たとえば「Password」。使用してみてください:

foreach ($fields as $field) {
    $className = "\\PFBC\\Element\\{$field->type}";
    $form->addElement(new $className("Name:", "Name", array(
         "required" => 1
    )));
}
于 2013-11-10T14:52:01.917 に答える