Я хочу понять, зачем нужны определенные классы для работы с Request и Response. Что не так с глобальными переменными, такими как $_POST, $_GET и т. д.? Почему лучше и какие проблемы он решает?
редактировать 1: Спасибо, я знаю о PSR. Но реальный вопрос, почему это плохо? Я не думаю, что использование $_GET, $_POST и т. д. — это плохо. Потому что зачем нам менять его значения?
Да, я понимаю это. Я просто привел пример. Но на самом деле не проблема получить куки, заголовок с глобальными переменными.
Реальный вопрос: «Нужно ли вам использовать фреймворк для вашего проекта?» Глядя на ваш (широкий и не по теме) вопрос, я думаю, что нет (и SO - это не форум, где можно обсуждать общие аргументы или то, что вы можете просто найти в документации «инструмента»). Чтобы задавать точные и актуальные вопросы (особенно после 29 месяцев членства), я настоятельно рекомендую вам прочитать весь Центр помощи, уделив особое внимание разделу вопросов.
@gp_sflover, конечно, мне нужен фреймворк, он слишком двусмысленный, я тоже начинаю писать без фреймворка, поэтому я просто подумал, может быть, посмотрю, как Request и Response работают внутри этих фреймворков, я написал свои собственные реализации, но не сделал этого. Не очень понимаю, какие проблемы они решают на самом деле, думаю, это потому, что я делаю очень простые сайты, которые представляют собой кучу какого-то CRUD.
Как уже упоминалось здесь :
Класс Request — это объектно-ориентированное представление сообщения HTTP-запроса. С ним у вас под рукой будет вся информация о запросе.
а также
В качестве бонуса класс Request выполняет много работы в фоновом режиме, о которой вам никогда не придется беспокоиться. Например, метод isSecure() проверяет три разных значения в PHP, которые могут указать, подключается ли пользователь через защищенное соединение.
Да, я понял первую часть, спасибо. Но все, что нужно сделать, это просто проверка в фоновом режиме? У меня совсем небольшой опыт, около года, и я так и не понял, зачем вообще нужна абстракция Request. То есть только потому, что есть какие-то настоящие проверки, и это помогает нам создавать некоторые объекты, такие как UploadedFile и т. д.?
Это добавляет кучу методов для использования, таких как isPost, позволяет вам ограничивать ваши маршруты только определенными методами, создает объекты, как вы сказали, и многое другое. По сути, он делает то же, что и фреймворк: упрощает рабочий процесс, не заставляя вас делать одни и те же действия дважды.
Это не одно и то же. В примере массив $_GET содержит только параметры, без файлов cookie, заголовков и т. д. Класс запроса содержит гораздо больше информации, и часто эти классы реализуют стандарт PSR-7 (php-fig.org/psr/psr-7)