После перехода на интерфейсы 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 пришли из функциональных языков. Там эта тема освещена хорошо.
спасибо
Большое спасибо, Дмитрий! Когда следующая серия?)
Или войти через: