2009-05-17 12 views
1

В PHP, Есть ли шаблоны, которые люди используют для отправки форм? Рекомендации по подаче формы и т. Д.Есть ли форма подачи формы?

Пример: Я пытаюсь выполнить операцию CRUD. Изначально я использовал ту же функцию для обработки форм-дисплей и форм-представление

class Somecontroller extends Controller { 

    function form1_add() { 
    // if submit exist save it in database 
    // else 
    // display the form 
    } 

    function form1_edit() { 
    // if submit exist save it in database 
    // else 
    // display the same form 
    } 
} 

Что мне не нравится .. об этом практика есть, Войти, чтобы проверить, есть ли представить или это бренд новая форма находится в одной и той же функции.

Я думал о том, чтобы две различные функции

form1_add() and form1_add_submit() 

для обработки этих операций. Но, например, другие проблемы возникают, например, при неудачной проверке, я должен был бы снова позвонить form1_add() с form1_add_submit(), чтобы отобразить эти ошибки проверки.

Какие другие методы используются людьми для такого рода операций? Существуют ли какие-либо конкретные шаблоны для них?

ответ

1

Общий принцип, как и любое программирование, заключается в том, чтобы ваши функции были максимально атомными. Выполнение нескольких задач в рамках одной функции просто усложняет вашу работу и затрудняет ее отладку. Вызывающие функции из другой функции - отличная идея, и, по крайней мере, сделать код более понятным.

С точки зрения конкретного примера, я всегда отделяюсь от отображения и представления/проверки формы друг от друга, потому что они полностью разные функциональные возможности. Если вы хотите «правильную» проверку, возможно, подумайте об использовании JavaScript в самой форме, а затем просто покажите список «ошибок» с PHP, чуть выше формы, если представление формы все еще не соответствует вводу (что позволяет пользователя, чтобы исправить их).

+0

Это имеет смысл. Я полагаю. Я просто впечатлен FormsAPI от drupal. Удивление, если это было похоже. Спасибо за комментарии. – bibstha

+0

Найдите, что сработает для вас, и сделает ваш код самым легким для отладки и запускается с ним. Если это какая-то форма рамки, отлично. Если это просто ваш собственный код, также отлично! –

0

Я не знаю ни о какой «лучшей практике» или «стандартном способе делать».

Лично я использую внешние функции для обработки этого.
Если пользователь отправил, я вызываю userSubmited() и так далее. Я также разделяю их на отдельные файлы, поэтому я могу сохранить его с чистым форматом (только заголовок и т. Д.).

Кроме того, было бы неплохо сохранить часть обработки формы в одном файле, а UI-дисплей - в другом, чтобы это было еще чище.