тк 3 июля праздник (в беларуси), буду не онлайн (по возможности буду отвечать)

Класс Select в ООП на PHP

В данном уроке мы с вами сделаем класс Select, который будет создавать выпадающий список select. Давайте посмотрим, как мы будем пользоваться описанным классом:

<?php echo (new Select->setAttr('name', 'list')) ->add( (new Option())->setText('item1') ) ->add( (new Option())->setText('item2') ) ->add( (new Option())->setText('item3') ) ->show(); ?>

Результат выполнения кода выведет следующее (форматирование мое):

<select name="list"> <option>item1</option> <option>item2</option> <option>item3</option> </select>

Реализуйте описанные классы Select и Option.

Атрибут selected

Сделаем так, чтобы можно было задать отмеченный по умолчанию пункт списка:

<?php echo (new Select) ->add( (new Option())->setText('item1') ) ->add( (new Option())->setText('item2')->setSelected() ) ->add( (new Option())->setText('item3') ) ->show(); ?>

Результат выполнения кода выведет следующее (форматирование мое):

<select> <option>item1</option> <option selected>item2</option> <option>item3</option> </select>

Модифицируйте ваш код в соответствии с описанным.

Сохранение выбора

Посмотрим, как мы будем пользоваться нашим классом в составе формы:

<?php $form = (new Form)->setAttrs(['action' => 'test.php', 'method' => 'GET']); echo $form->open(); echo (new Input)->setAttr('name', 'test'); echo (new Select->setAttr('name', 'list')) ->add( (new Option())->setText('item1') ) ->add( (new Option())->setText('item2') ) ->add( (new Option())->setText('item3') ) ->show(); echo new Submit; echo $form->close(); ?>

В результате получится следующая форма:

<form action="" method="GET"> <input name="test"> <select> <option>item1</option> <option>item2</option> <option>item3</option> </select> <input type="submit"> </form>

Сделайте так, чтобы после отправки формы список сохранял свое выбранное значение.