| ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot |
HTML_QuickForm_RendererHTML_QuickForm_Renderer – レンダラの基底クラスとなる抽象クラス (package developer related)
Description子クラスで実装する抽象メソッドを定義します。 QuickForm のレンダラは、Visitor デザインパターンを実装しています。 つまり、各フォーム要素が accept() メソッドを保持しており、 レンダラのインスタンスをパラメータに指定してこのメソッドがコールされるということです。 このメソッドが行う内容は、以下のとおりです。
レンダラオブジェクトは、本来なら各 HTML_QuickForm_concreteElement に対して renderConcreteElement() メソッドを保持すべきです。しかし、 幸いにもほとんどの要素が要求するレンダリングは似通っています。そのため、 renderTextarea() や renderCheckbox() などのように分割するかわりに、一般化した renderElement() メソッドを使用しています。 レンダラは、メソッドに渡された情報を "蓄積" し、 それに基づいて何らかの形式の出力を行わなければなりません。 内部の実装方法は、レンダラの型に依存します。 独自のレンダラを作成するまず最初に、どうやって情報を蓄積するかを決める必要があります。 おそらく、そのためには何らかのデータ構造を作成する必要があるでしょう (テンプレートオブジェクトなどに情報を一度に渡そうとしているのでない限り)。 次に、HTML_QuickForm_Renderer で定義されている全ての抽象メソッドに、具体的な処理を実装しなければなりません。 注意すべき例外は renderHtml() メソッドで、これはデフォルトのレンダラのみで実装されます。 それ以外にも、出力をカスタマイズしてその結果を得るためのパブリックメソッドを 追加したいと思われるかもしれません。しかし、これはレンダラの型に大きく依存します。 あなたが作成したレンダラを QuickForm に寄贈したいとお考えなら、以下の点に気をつけてください。
|
各種マニュアル:
PHPマニュアル |
PEARマニュアル |
Smarty(英語)マニュアル |
PHP-GTKマニュアル |
「HTML_QuickForm_Renderer」をGoogle検索
|