私は、PHPでさまざまなタイプのフォーム入力コントロールを構築する一連のクラスを構築する初期段階にあります。ここでは、後にテキスト入力コントロールを構築します私のコードの先頭のサンプルです:あなたが見ることができるようにフォーム入力要素を構築するクラスを構築する
<?php
class TextInput {
//These properties are reqiured, and are defined on an as-needed basis
public $name;
//These properties are optional, but can be defined on an as-needed basis
public $disabled = false;
public $maxLength = false;
public $readOnly = false;
public $size = false;
public $type = "text";
//New to HTML5
public $autoComplete = "off";
public $autoFocus = false;
public $listSuggestionArray = false;
public $max = false;
public $min = false;
public $multiple = false; //Works for "email" type only
public $pattern = false;
public $placeHolder = false;
public $required = false;
public function __construct() {
//Nothing to do!
}
//Build the text input control
public function build() {
}
}
?>
は、このクラスでは、それは何もしていなくても、すでにかなり大きいです!私の主な質問は、これらのクラスを作成してテキストエリア、ファイル入力などを処理し続けるべきかどうかです。これらを生成するためにサーバーに負荷をかけていることを考慮すると、
賛否:
- 手動でHTMLに毎回書くとは対照的に、後でインスタンス化する非常に簡単に私の知る限りは、長所と短所があり、ここで言うことができるように
。
- データベースからのデフォルト値の提供が可能になると、それは簡単になります。たとえば、このクラスは特定のフォームが更新されているときにリッスンし、以前に入力した値にデータベースから1つの追加のインスタンス変数を指定します。
- この入力コントロールが非HTML5のクレームブラウザで実行されるたびに、HTML5入力タイプ(「色」など)にフォールバックを提供します。
- その他のフォームの入力タイプは、オプションによって変更される可能性があります。たとえば、テキストエリアの追加のインスタンス変数は、クライアント側のJavaScriptにWYSIWYGエディタに変換するよう指示できます。
コン:サーバの負荷の
- もう少しは単一ページに使用され、それらの多くがある場合は特に、これらの要素のためのHTMLを作成します。
これを考慮して、このルートを使用するか、手動でHTMLに書き戻す必要がありますか?
ありがとうございます。
これは、http://codereview.stackexchange.com – GWW
のほうがはっきりしているようです。少なくとも、いくつかの継承を使用することができます(これらの要素の大半は、例えば 'name'属性を持ちます) 。 – kapa
私は同意します。コードを見直してくれてありがとう!私はちょうどそれを書いて始めた。 :)最後に、私は 'protected'基底クラスを拡張します。 –