В подобных случаях я обычно использую скрытый ввод 'form_action', поэтому я могу использовать разные кнопки отправки для предоставления различных действий (например, «добавить», «редактировать», «удалить» и т. Д.)
<input type="submit" onclick="assignAction(this.form, 'myItem_delete');"...>
Затем на стороне сервера я могу разделить действие на "_" и использовать 1-ю часть в качестве идентификатора класса формы (т. Е. Для простого переключения или отражения ...), а вторая часть говорит, какой метод класса формы должен обрабатывать данные обратной передачи. В общем коде это так
$handler = explode('_', $_POST['form_action']);
$className = $handler[0]; // not secure, but simple enough for example
if (class_exists($className))
{
$form = new $className();
$method = $handler[1]; // again too simple
if (method_exists($form, $method))
{
$form->$method($_POST, $other_params...);
}
}
Конечно, пример слишком прост. Но это обычная идея, как и у меня.