slim — почему реализации HTTP-сообщений?

Это может быть глупый вопрос, но я видел и читал HTTP-сообщения или PSR-7 в современной тенденции развития PHP. Почему вдруг нам нужны реализации HTTP-сообщений на PHP для современной веб-разработки?

Например, с Slim 3, теперь мы должны сделать это,

$app->get('/hello/{name}', function ($request, $response, $args) {
$response->write("Hello, " . $args['name']);
return $response;
});

Теперь мы должны ‘заворачивать’ запрос результат в объекте ответа HTTP.

Что не так с этим старым классическим способом отвечать на запросы запрос ниже?

echo 'Hello, ' . $_GET('name');

Это легче понять для меня.

Каковы преимущества реализации HTTP-сообщений? Когда нам нужно их использовать? И почему?

3

Решение

Во-первых, я бы рекомендовал вам прочитать раздел 3 мета-документа PSR-7.

Я попытаюсь обобщить некоторые преимущества наличия общего набора интерфейсов для описания HTTP-сообщений.

Вы можете использовать переменные superglobals (как $_GET а также $_POST), но они являются глобально изменяемым состоянием. Вместе с этим модулем и интеграционным тестированием вашего кода становится сложно.

По этим причинам многие PHP-фреймворки решили реализовать абстракцию для представления HTTP-сообщений (см., Например, Symfony HttpFoundation или Zend \ Http).

Это привело к ситуации, когда любое приложение основывалось на конкретной реализации HTTP-сообщений, поэтому его было трудно использовать в проектах, построенных с использованием других сред.

Вот почему общий набор интерфейсов помогает абстрагировать HTTP-сообщения и работать с ними независимо от платформы.

3

Другие решения

Клиент отправит запрос и вернет ответ. Как разработчик, вы создадите и заполните запрос, а затем проанализируете ответ. Оба запроса и ответы являются неизменными; если вы вносите изменения — например, вызывая методы установки — вы должны захватить возвращаемое значение, так как это новый экземпляр.

-1

По вопросам рекламы [email protected]