Эквивалент ASP.NET WebForms ViewState в PHP?

ASP.NET WebForms устарел, но в одном аспекте он намного лучше, чем PHP: ViewState. Когда вы отправляете форму, контроль остается. В PHP вы должны делать все самостоятельно, рендеринг HTML.

Быстро, я придумаю код, который выглядит так:

print('<input type="text" name="txtDate" value="' . (isset($_POST['btnSave']) ? $_POST['txtDate'] : Common::FormatDate($row['Date'])) . '" class="datepicker ' . ($dateValid ? '' : 'invalid') . '" />');

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

class Controls
{
public static function TextBox($name, $id, $value, $class)
{
return '<input type="text" name="' . $name . '" id="' . $id . '" value="' . htmlentities($value) . '" class="' . $class . '" />';
}
}

Это делает вещи более удобными, но это не то же самое, что иметь ViewState.

Не говоря уже о том, что вам нужно продублировать код для редактирования и создания с разными настройками:

Создайте: значение = все, что находится в $_POST
Редактировать: значение = если форма отправлена, возьмите все, что есть в $_POSTв противном случае возьмите значение из базы данных / модели. (троичный оператор здесь)

Это становится еще сложнее, когда вы показываете / скрываете всплывающие окна!


В общем, это очень сложный и неудобный способ, и у меня есть абсолютно нет Идея, где начать улучшать это. Каковы ваши предложения?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]