Концепция PHP ООП на практике

#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 ) скоро