HTTP маршрутизация, PHP Framework своими лапками #3
Вставка
- Опубліковано 9 лют 2025
- Stream разработки: • Framework, Маршрутизация
Repository: github.com/cek...
Demo repository: github.com/cek...
Плейлист по разработке DI: • DI #1: Разработка библ...
Ссылка на статью: nikic.github.io...
Наш чат: t.me/dev_ru
Спасибо за видео. Обратил внимание, что Вы ваш роутер хранится в виде пакета в папке vendor. Не поделитесь информацией как он туда попадает? Ви загружаете свои пакеты на packagist.org/ и уже оттуда тянете композером, или же как-то хитро натравливаете композер сразу на свой github?
да использую composer
под видео есть ссылка на репозиторий надо лишь composer install набрать и будет все работать как на видео.
все уже сделано в пакетах, просто пока нет стабильной версии использую @dev
Задам глупый вопрос)) а зачем вы переделывали никич роутер?
я сам роутер не переделывал
роутер у nikic мапит на основе url
а я считаю что мапить надо весь psr http request чтобы была большая гибкость
для этого я создал абстракцию cekta/routing от которой уже можно зависеть и подставлять разные реализации роутеров, с помощью адаптера который я сделал для nikic/router
Почему архитектура приложений такая перегруженная? Вопрос не к автору видео, а вообще...диспетчеры, хендлеры, контейнеры...дикий венегрет, а это всего лишь роутер запросов!
контейнер это необязательный инструмент с помощью которого можно порождать хэндлеры и можно даже самому писать анологичное решение.
хэндлеры это основная точка расширения это по сути обработчики маршрутов, у кого то и 100 хэндлеров в приложение достаточно, у кого и 1 000 мало, это все указывает конечный разработчик
мидлвайр это то что реализует разработчик по желанию, можно логировать действия обращение в каждом обработчике,, а можно сделать middleware и логировать в нем, это по желанию.
это кстати еще не перегруженная "архитектура", а некий стандарт который должен предоставлятся разработчику.
@@kuvshinovee подскажите, где можно почитать/посмотреть про современную архитектуру веб-приложений, чтобы понимать зачем так много слоев и как они взаимодействуют вместе, спс!
@@ДмитрийЧернов-ъ2ф каждый слой он имеет определенную необходимость только в случае его использования
лучший способ это попробовать написать какое то приложение или апиху, где можно регистрироваться, входить на сайт, создавать посты, комментировать посты, есть раздел админки с тэгами, возможностью удалять посты или комменты и тд
реализуя приложение причем на разных фреймворках (и для примера без фреймворка) можно заметить общие части которые есть во всех фреймворках и вообще сравнить разницу в подходах.
Ничесь, я лев.