После перехода на интерфейсы PSR-7 мы уже понимаем, как делать переносимыми функции, которые работают с переданным им Request-ом. Но пока не знаем, что делать с функциями, которые у себя создают ответ Response.
Поэтому помимо инверсии контроля за запуском приложения и инверсии зависимостей сегодня рассмотрим инверсию контроля за созданием зависимостей. Это нам позволит отвязаться от зависимости от конкретных классов и понять причины появления PSR-17.
Помимо этого рассмотрим заблуждение многих PHP-програмистов при написании анонимных функций. Почему класс для них назван Closure и являются ли все анонимные функции замыканиями.
- 00:01:47 Зависимость от класса Response
- 00:05:39 Подготовка кода
- 00:07:17 Инверсия контроля запуска приложения
- 00:10:00 Инверсия зависимостей компонентов
- 00:10:27 Инверсия контроля за созданием зависимостей
- 00:11:47 Приём заготовки Response
- 00:13:12 Приём конфигурации
- 00:16:41 Постоянные и непостоянные параметры
- 00:18:06 Конфигурируемая функция
- 00:18:50 Именованные и анонимные функции
- 00:20:00 Отличие лямбды от замыкания
- 00:22:43 Контекст текущего объекта
- 00:27:47 Заблуждение PHP-программистов
- 00:29:57 Конструкторы для функций
- 00:34:25 Унификация вызовов
- 00:36:06 Функциональный класс
- 00:38:05 Неудобства передачи Response
- 00:38:58 Использование фабрики
- 00:43:26 Написание фабрик для HTTP Message
- 00:48:34 Перемещение фабрики fromGlobals
- 00:51:30 Вынесение общих интерфейсов
- 00:53:03 Промежуточный итог
- 00:54:19 Обзор PSR-17 HTTP Factories
- 00:55:51 Переход на PSR-17
- 00:59:55 Переход на готовую реализацию
- 01:02:16 Использование в тестах
- 01:03:45 Удаление устаревших настроек
- 01:05:38 Хэлперы для заполнения контента
- 01:09:03 Когда это уместно
- 01:11:04 Обзор результата
Скрытый контент (код, слайды, ...) для подписчиков.
Открыть →Чтобы не пропускать новые эпизоды подпишитесь на наш канал @deworkerpro в Telegram
Здравствуйте, Дмитрий
Отдельная благодарность за разоблачение мифов про closure/lambda! Это - мутная тема, плохо освещенная в интернетах.
Вообще, этот курс получился шикарным. Узнаю разные фишечки, о которых сам не догадался бы.
Плюс ваши вербальные формулировки и определения стали предельно чеканными и выверенными.
Вопрос: Я не понял разницы между request и server request. И, соответственно, между request factory и server request factory. Если она есть, то в чём?
Request обычно описывает исходящий запрос, который мы отправляем через HTTP-клиент:
А ServerRequest описывает входящий запрос, пришедший к нам на сарвер:
Анонимки в PHP пришли из функциональных языков. Там эта тема освещена хорошо.
спасибо
Большое спасибо, Дмитрий! Когда следующая серия?)
Отличная серия) Для меня как новичка, просто супер!) Дмитрий, подскажите пожалуйста, планируется ли продолжение серии и когда ожидать выход новых видео?)
Отличные скринкасты. Тоже присоединяюсь к вопросу о продолжении серии.
Небольшая опечатка в названиях глав эпизода: "Переход на PSR-15" вместо "Переход на PSR-17"
Или войти через: