#php #jquery #oop
#php #jquery #ооп
Вопрос:
На данный момент у меня есть форма проверки, которая написана в процедурном стиле. Я хотел изменить несколько вещей и реализовать в процессе весь раздел обзора сайта был бы лучше в ООП, исходя из прошлого опыта.
Поток данных выглядит следующим образом:
HTML-форма => Отправить => Проверка jQuery => ? => Проверка PHP => Добавить запись
Проблема у меня в понимании того, какой правильный способ передачи данных POST в класс заключается в том, что сообщение подтверждения отображается с использованием AJAX / jQuery или даже формы, которая имеет стандартную страницу благодарности, если на то пошло.
У меня есть класс, готовый принимать данные POST, передавая их в методы для проверки и, наконец, добавления в базу данных, но я не уверен, какой правильный протокол используется для их получения в первую очередь.
Способы, которыми я делал это в прошлом, — это передача формы на страницу процесса, которая, в свою очередь, перенаправляет снова. Я не уверен в том, какой правильный способ при попытке выполнить вышеизложенное.
Спасибо 🙂
Ответ №1:
Я расскажу вам только, как я это делаю, и, возможно, вы найдете что-то полезное в моем коде, опять же, в программировании нет точного способа что-то делать, но вы можете услышать мнения и сформировать свое собственное.
Предположим, у меня есть форма jQuery для создания новых пользователей, переданная на сервер (Ajax или нет, не имеет значения), и вы выполнили некоторую проверку на стороне клиента, на сервере я делаю что-то вроде этого:
$user = BaseDTO::ParseFromRequest("User");
if ($user->IsValid()) {
//... send some error back to javascript
}
UserRepository::Attach($user);
У меня есть BaseDTO (объект передачи данных), который знает, как искать свойства данного класса (таким образом, параметр «User») и проверяет, верны ли предоставленные значения, затем я использую объект репозитория для сохранения базы данных.
Я искренне надеюсь, что смогу помочь
Комментарии:
1. спасибо за это! Я изучу это, я не использовал BaseDTO на практике, поэтому проверю это. 1, будет принято после предоставления всем возможности ответить 🙂
2. На самом деле, класс BaseDTO — это реализация, созданная мной, но у меня есть черновик поста, чтобы опубликовать его в моем блоге ( davidcondemarin.blogspot.com ) скоро