Response, Request в MVC?

Что делают классы Request и Response ?

Response более понятно, выставить заголовки и подобное, а Request ?

Можно описание и пример работы этого?

а то сбился, найти и понять абсолютно не могу, зачем все это, буду очень благодарен)
  • Вопрос задан
  • 356 просмотров
Решения вопроса 3
Hatsune-Miku
@Hatsune-Miku
Няшк :3
Например удобный доступ к _POST, _GET, _COOKIE и т.д.
Имеются фильтры данных, удобно инкапсулировано... и т.д.

Почитайте вот что: https://docs.phalconphp.com/ru/latest/api/Phalcon_...

Например:

// Если запрос был методом POST и через AJAX. Не правда ли просто и удобно?
if ($this->request->isPost() AND $this->request->isAjax()) 
{
    $name = $this->request->getPost('name'); // нет необходимости проерять существование индекса
    $password = $this->request->getPost('password');

    $user = new Models/Users();
    $user->name = $name;
    $user->password = $password;

    if ($user->save())
    {
        echo 'Успешно';
    }
    else
    {
        echo 'Fail';
    }
}
Ответ написан
Комментировать
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
На бэкэнде нет MVC, максимум MVA или популярная Model2 которую часто ассоциируют с MVC. Ну да это все лирика.

Request и Response являются абстракцией от HTTP запроса и ответа. То есть приложение наше должно получить на вход Request и на выход выплюнуть Response. И то и другое относится к слою представления по сути.

Request попадает в контроллер, где контроллер берет из него данные и конвертит в формат приложения. Затем контроллер просит модель поменять состояние (под моделью я тут понимаю все что угодно, что относится к обработке и хранению данных, у меня это сервисы и только сервисы, они изолируют в себе всю логику обработки данных. Сущности наружу не ходят вообще).

Результатом работы модель выплюнет свое текущее состояние (кусок состояния который нас интересует) и контроллер должен будет преобразовать это дело из формата прилоежения в формат клиента (Response).

Сама же по себе абстракция дает больше преимуществ и упрощает разработку. В частности вам становятся доступны дополнительные плюшки при организации архитектуры приложения, в частности мидлвэры, решения в духе php-pm (не умирающий php) и все такое. При наличии стандарта PSR-7 можно наваять кучу совместимых между собой готовых решений для построения масштабируемых приложений.

Как-то так.
Ответ написан
Комментировать
Immortal_pony
@Immortal_pony Куратор тега PHP
А Request для того, чтобы получить все параметры запроса - заголовки, перменные, файлы, и т.д.
Подробнее и с примерами.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы