Зачем нужны определенные классы для работы с Request и Response?

Я хочу понять, зачем нужны определенные классы для работы с Request и Response. Что не так с глобальными переменными, такими как $_POST, $_GET и т. д.? Почему лучше и какие проблемы он решает?

редактировать 1: Спасибо, я знаю о PSR. Но реальный вопрос, почему это плохо? Я не думаю, что использование $_GET, $_POST и т. д. — это плохо. Потому что зачем нам менять его значения?

Это не одно и то же. В примере массив $_GET содержит только параметры, без файлов cookie, заголовков и т. д. Класс запроса содержит гораздо больше информации, и часто эти классы реализуют стандарт PSR-7 (php-fig.org/psr/psr-7)

Harven 07.04.2019 18:58

Да, я понимаю это. Я просто привел пример. Но на самом деле не проблема получить куки, заголовок с глобальными переменными.

Rustam 08.04.2019 03:37

Реальный вопрос: «Нужно ли вам использовать фреймворк для вашего проекта?» Глядя на ваш (широкий и не по теме) вопрос, я думаю, что нет (и SO - это не форум, где можно обсуждать общие аргументы или то, что вы можете просто найти в документации «инструмента»). Чтобы задавать точные и актуальные вопросы (особенно после 29 месяцев членства), я настоятельно рекомендую вам прочитать весь Центр помощи, уделив особое внимание разделу вопросов.

gp_sflover 14.04.2019 14:07

@gp_sflover, конечно, мне нужен фреймворк, он слишком двусмысленный, я тоже начинаю писать без фреймворка, поэтому я просто подумал, может быть, посмотрю, как Request и Response работают внутри этих фреймворков, я написал свои собственные реализации, но не сделал этого. Не очень понимаю, какие проблемы они решают на самом деле, думаю, это потому, что я делаю очень простые сайты, которые представляют собой кучу какого-то CRUD.

Rustam 15.04.2019 10:37
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
5
4
71
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как уже упоминалось здесь :

Класс Request — это объектно-ориентированное представление сообщения HTTP-запроса. С ним у вас под рукой будет вся информация о запросе.

а также

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

Да, я понял первую часть, спасибо. Но все, что нужно сделать, это просто проверка в фоновом режиме? У меня совсем небольшой опыт, около года, и я так и не понял, зачем вообще нужна абстракция Request. То есть только потому, что есть какие-то настоящие проверки, и это помогает нам создавать некоторые объекты, такие как UploadedFile и т. д.?

Rustam 08.04.2019 03:43

Это добавляет кучу методов для использования, таких как isPost, позволяет вам ограничивать ваши маршруты только определенными методами, создает объекты, как вы сказали, и многое другое. По сути, он делает то же, что и фреймворк: упрощает рабочий процесс, не заставляя вас делать одни и те же действия дважды.

ness 08.04.2019 10:53

Другие вопросы по теме