Зачем нужен psr-7?

Не бейте меня пожалуйста палками за этот вопрос, я правда не могу вникнуть в чем его суть, и буду рад разъяснению на конкретных примерах. Привожу что меня смущает на примере Slim 2 и Slim 3.

Например вот:
5bb0a230b7162225396266.png
Почему предлагается получать данные из гет и пост таким образом а не через обычный $_GET или $_POST?
Или вот пример использования шаблонизатора Twig в Slim 2:
$app->render('test.html');
и в Slim 3:
$this->view->render($response,'test.html');
Та же туфта с редиректом:
//Slim 2
$app->redirect('/test');
//Slim 3
return $response->withRedirect('/test');

Как по мне варианты от Slim 2 проще и понятнее. Подскажите, в чем сама фишка этого стандарта, и в каких случаях он действительно необходим, а в каких можно обойтись и без него?
  • Вопрос задан
  • 2083 просмотра
Пригласить эксперта
Ответы на вопрос 3
Maksclub
@Maksclub Куратор тега PHP
maksfedorov.ru
Исчерпывающее видео по PSR-7 (первое из всего цикла)
https://www.youtube.com/watch?v=w4iqxN0nfTs&list=P...

Видео ответит -- зачем вообще нужно в объекты завернуть глобальные переменные

Ответ на ваш вопрос:
Чтобы ваш код можно было передавать в другие инструменты, которые также работают с объектами Request/Response... более того с этими объектами работают другие части фреймворка/др фреймворков -- модифицируют, обогащают и прочее... Например посредники, роутеры, контроллеры и т.д... А сам стандарт нужен, чтобы создатели библиотек/адаптеров/фреймворков делали все через единый интерфейс, что помогает обмениваться решениями или делать сразу под несколько платформ

Как по мне варианты от Slim 2 проще и понятнее.

Ну значит работайте с ним, пыток нет в наше время (за такую работу с глобалками)
Ответ написан
Комментировать
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Чтобы сделать из php джаву/nodejs (в хорошем смысле).
Ответ написан
Комментировать
riky
@riky
Laravel
обертка над $_GET/$_POST нужна чтобы было потом удобно писать тесты над вашими контроллерами. Слим может применяться как для мелких проектов (где тесты почти не пишутся), так и для микросервисов, где без тестов будет тяжко.

во вторых вас сразу приучают к хорошему, перейдя на другой фреймворк - вы уже будете знать как работает request/response. В теории легче мигрировать на другой фреймворк и кодом и в плане обучения.

Если вы один раз изучили PSR7 то вам уже автоматически легче использовать все библиотеки которые его используют, например Guzzle, PHPReact и тд.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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