Открой безлимитный доступ ко всем скринкастам и получай большие скидки на все наши мероприятия:
Бесплатный
0/ мес.

Ограниченный доступ
только к Free-видео

Активен
Подписчик
500/ мес.

Безлимитный доступ
ко всем скринкастам

Принимаем оплату российскими и иностранными картами, системами МИР Pay и Tinkoff Pay.

Данные запроса и ServerRequest

В прошлом эпизоде мы поняли, что прямая работа с суперглобальными массивами привязывает нас к конкретному серверу и неудобна при тестировании. Сегодня от этого перейдём к внедрению серверонезависимой структуры ServerRequest. Напишем для неё фабрику и для удобства перейдём на объекты-значения вместо скалярных полей:

  • 00:00:30 Явная передача значений
  • 00:02:58 Особенность работы с телом запроса
  • 00:04:51 Группировка параметров в структуру
  • 00:07:12 Отвязка заголовков от PHP-FPM
  • 00:09:19 Полная информация о запросе
  • 00:10:32 Отдельная структура ServerRequest
  • 00:14:09 Переход к классу
  • 00:16:16 Фабрика по заполнению из глобальных массивов
  • 00:17:16 Тест для класса запроса
  • 00:18:00 Другие HTTP-заголовки
  • 00:18:38 Автосчитывание заголовков
  • 00:20:06 Как протестировать фабрику
  • 00:23:45 Неудобство строковых значений
  • 00:25:52 Объект-значение Uri для адреса
  • 00:29:40 Сложности при проксировании
  • 00:32:13 Экономная обработка файлов
  • 00:33:53 Поток Stream для файлов
  • 00:35:27 Управление курсором при чтении
  • 00:41:13 Обзор результата
Скрытый контент (код, слайды, ...) для подписчиков. Открыть →
Дмитрий Елисеев
elisdn.ru
Комментарии (6)
Максим
2022-10-22 08:37

Спасибо! Ждал продолжения этой серии.

Ответить
Aёct'ann
2022-11-01 10:35

Спасибо!

Ответить
Aёct'ann
2022-12-24 10:21

А зачем мы в классе Uri добавили магический метод для склейки всех фрагментов uri в одно целое, когда, по сути, можем просто обратно отдавать оригинальный uri, который нам пришел в конструкторе?

По логике получается, что нам пришла строка, мы ее разбили на составляющие, а если нам нужно получить оригинальную строку - так можно ее и вернуть, а не склеивать по отдельности. Или не так?

Ответить
Дмитрий Елисеев
2022-12-26 16:57

Если у нас в Uri только геттеры, то можно сохранить исходную строку и возвращать её. Но если там появятся модификаторы вроде $uri->setPort(81) или $uri->withPort(81), то тогда в каждом из них придётся переклеивать эту строку, что неудобно.

Ответить
Баке
2024-03-13 10:55

Жаль что нет исходного кода для каждого урока

Ответить
Артём
2024-04-12 10:15

исходный код доступен на github

Ответить
Зарегистрируйтесь или войдите чтобы оставить комментарий

Или войти через:

Yandex
MailRu
GitHub
Google