Задания:

* Если при использовании метода addField() указывается имя поля, которое уже было добавлено, то поле в форме заменяется.
* для метода addField должны быть доступны варианты полей:
    * hidden
    * title
    * text
* Данные переданные в метод addField и выводимые на форму должны экранироваться.

# Если при использовании метода addField() указывается имя поля, которое уже было добавлено, то поле в форме заменяется.

Код:
$form = new Form();
$form->addField('hidden', 'doc_title', "Hidden title");
$form->addField('title', 'doc_title', "This is new title!");
echo (string)$form;

Результатом будет: 
<form>
<input type="text" name="doc_title" value="This is title!" />
</form>

# для метода addField должны быть доступны варианты полей:

## hidden

Код:
$form = new Form();
$form->addField('hidden', 'id', "500");
echo (string)$form;

Результатом будет: 
<form>
<input type="hidden" name="id" value="500" />
</form>

## title

Код:
$form = new Form();
$form->addField('title', 'doc_title', "This is title!");
echo (string)$form;

Результатом будет: 
<form>
<input name="doc_title" value="This is title!" />
</form>

## text

Код:
$form = new Form();
$form->addField('text', 'article', "Lorem ipsun!");
echo (string)$form;

Результатом будет: 
<form>
<textarea name="article">Lorem ipsun!</textarea>
</form>

# Данные переданные в метод addField и выводимые на форму должны экранироваться.

Код:
$form = new Form();
$form->addField('hidden', 'name 1 \' " < > &', "value 1 \' " < > &");
$form->addField('title', 'name 1 \' " < > &', "value 2 \' " < > &");
$form->addField('text', 'name 1 \' " < > &', "value 3 \' " < > &");
echo (string)$form;

Результатом будет: 
<form>
<input type="hidden" name="name 1 ' &quot; &lt; &gt; &amp;" value="value 1 ' &quot; &lt; &gt; &amp;" />
<input name="name 2 ' &quot; &lt; &gt; &amp;" value="value 2 ' &quot; &lt; &gt; &amp;" />
<textarea name="name 3 ' &quot; &lt; &gt; &amp;">value 3 ' &quot; &lt; &gt; &amp;</textarea>
</form>
