Готовим Middleware в PHP

  Рет қаралды 10,833

loftblog

loftblog

Күн бұрын

Пікірлер: 32
@nkf-v
@nkf-v 2 жыл бұрын
Как же не хватает таких видео. Где и реализация на около архитектурном стиле и где PSR интерфейсы используются.
@сергейКуприянов-ц6щ
@сергейКуприянов-ц6щ 2 жыл бұрын
Да, с полугодишным опытом разработки не всё понятно, но зато есть куда расти. Автору спасибо.
@VITALIK_DEV
@VITALIK_DEV 2 жыл бұрын
Мне понравилось 👍 Спасибо ❤ Буду ждать курс
@malferov
@malferov Жыл бұрын
Сколько же времени потрачено, осмысленно и написано кода (этюдов и боевых строк), чтобы вот так запросто набросать такой пример 👍
@alexandr2050
@alexandr2050 2 жыл бұрын
Супер! Спасибо, ждем курс )
@ЯоКуассиЖан-Клод
@ЯоКуассиЖан-Клод Жыл бұрын
Супер огромное спасибо!)
@gunscheler8622
@gunscheler8622 2 жыл бұрын
Крутой урок! Спасибо.
@konstantin88527
@konstantin88527 2 жыл бұрын
Очень классно, СПАСИБО автору!
@ВалерияК-й1й
@ВалерияК-й1й Жыл бұрын
Для новичка очень познавательно! спасибо!
@sufir
@sufir 2 жыл бұрын
Спасибо, было очень любопытно!
@forest_alf
@forest_alf Жыл бұрын
Конечно вроде красиво, но: Во-первых такой реализацией-рекурсией нельзя обрабатывать данные и пересылать дальше. Поэтому в симфони реализация гораздо лучше. Во-вторых array_shift это конечно по пхпшному, но не стоит удалять мидлвар из памяти(свойства). Будь это демон/асинк, то следующий запрос уже не сможет обработаться этой реализацией, там будет null вместо ваших мидлвар. Лучше реализовать пайплайн через обычный цикл.
@makki108
@makki108 Жыл бұрын
Спасибо. Метод handle в классе Pipeline можно еще сделать так: private int $index = 0; public function handle(Request $request): Response { if (!isset($this->middlewares[$this->index])) { return $this->handler->handle($request(; } $this->index++; return $this->middlewares[$this->index - 1]->process($request, $this); }
@mnogokotin
@mnogokotin 2 жыл бұрын
привет, спс за видос )
@88billizzard88
@88billizzard88 2 жыл бұрын
А где курс можно посмотреть?
@reutskiy-artem
@reutskiy-artem 3 ай бұрын
где курс Ваш именно этот найти?
@taksshine
@taksshine 2 жыл бұрын
Отличная работа!
@solvex8304
@solvex8304 2 жыл бұрын
А курс-то когда будет?
@alexnov4367
@alexnov4367 Жыл бұрын
Паттерн Mediator (из GoF) и Middleware это одно и тоже? Mediator === Middleware ?
@TimmertPlay
@TimmertPlay 2 жыл бұрын
Только тут важно учесть, что если мы хотим таким образом логировать request через миддлвейр, то необходимо его всегда ставить на первое место в списке посредников. Хоть Request у нас имутабельный, объекты, на которые ссылается объект Request ( в перспективе ) может изменится. Понимаю, что видео не об этом, но это может ввести в замешательство новичков. P.S. Валентин об этом сказал далее ;D
@vudaltsov
@vudaltsov 2 жыл бұрын
Всё верно, спасибо. Благодаря вашему комментарию проверил, как я залил в репозиторий. Оказалось, что после записи видео осталось наоборот, поправил.
@alexandr2050
@alexandr2050 2 жыл бұрын
Было бы круто по остальных psr мастер класы psr7, psr17 и тд, сейчас нет нормально скринкаста 🥹
@aragnophy
@aragnophy 2 жыл бұрын
Middleware семантически это "прослойка", нежели связующее звено
@aleksandrdeyder6905
@aleksandrdeyder6905 2 жыл бұрын
implements Handler в нескольких местах сильно увеличит возможности композиции)
@yashkevich8164
@yashkevich8164 2 жыл бұрын
Не совсем понял в каком месте будет выполнятся сама бизнес логика. Валидация же должна идти в самом начале и если мне нужно в логгер записать какую то другую инфу в процессе выполнения бизнес логики тоже не понятно
@romanpiarce
@romanpiarce Жыл бұрын
а зачем array shift можно ведь current?
@user-davidtema
@user-davidtema 9 ай бұрын
Можно, но здесь array_shift возвращает первый элемент и удаляет его, изменяя массив. С current придётся либо дополнительно удалять первый элемент вручную либо ещё хуже.
@romanpiarce
@romanpiarce 9 ай бұрын
да, логично, спасибо)@@user-davidtema
@AleksandrBugrov
@AleksandrBugrov Жыл бұрын
Как будто мидлвэйр это синоним цепочки обязанностей (chain of responsibility)
@aleksandrdeyder6905
@aleksandrdeyder6905 2 жыл бұрын
usleep(100) - это 0.1 миллисекунд, а не 100)
@vudaltsov
@vudaltsov 2 жыл бұрын
Да, спасибо! u - это ведь микро, а не милли.
@aleksandrkokin6065
@aleksandrkokin6065 2 жыл бұрын
Спасибо за крутой урок!
@ВикторПотоцкий-и8ы
@ВикторПотоцкий-и8ы 2 жыл бұрын
Очень хорошее видео! Спасибо!
JIT в PHP 8: Просто о сложном
19:26
Andrey Lozunov - Fullstack Web Developer
Рет қаралды 14 М.
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН
December kit builds: LED clock
30:51
pileofstuff
Рет қаралды 1,4 М.
Дженерики в PHP
14:02
Просто о Web Development. CutCode
Рет қаралды 9 М.
PHP: выборка данных из БД и генераторы
29:24
Андрей Шестаков
Рет қаралды 11 М.
Парсер картинок с гугл по ключевым словам (2025)
7:14
Разработка ботов для бизнеса
Рет қаралды 111
Владимир Хориков - Domain-driven design: Cамое важное
1:13:59
DotNext — конференция для .NET‑разработчиков
Рет қаралды 57 М.
FRONTEND - что учить? / Альфа Михаил
57:52
FASTEST Way to Learn Cloud Security and ACTUALLY Get a Job (2025)
34:30
UnixGuy | Cyber Security
Рет қаралды 1 М.