Interceptors в PHP на примере Spiral framework

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ม.ค. 2025

ความคิดเห็น • 42

  • @friendvane7612
    @friendvane7612 8 หลายเดือนก่อน +9

    После видео про Octane и Roadrunner заинтересовался темой долгоживущего приложения и тоже вышел на spiral, он сразу заточен под такой режим работы, что выглядит многообещающе, видео про него будут не менее интересны чем про ларавел, учитывая как много всего там реализовано по другому, даже более грамотно. Про Interceptors было интересно посмотреть, спасибо

  • @ЕвгенийРыбкин-ф6м
    @ЕвгенийРыбкин-ф6м 8 หลายเดือนก่อน +3

    Спасибо за ролик!
    Стал лучше понимать как работают Magento’вские плагины и что это зверь такой - interceptor
    Ждём обзор на BMW 😅

  • @iviefistofel
    @iviefistofel 3 หลายเดือนก่อน

    чисто для справки: Middleware как паттерн не ограничен только HTTP.
    если говорить про реализацию в Laravel "из коробки", то мидлвары также можно юзать в Artisan Commands и Jobs. из коробки.
    а в целом через Pipelines их можно юзать везде. как пример прикрутить пайплайны в FormRequest и собирать QueryBuilder через Middleware (т.е. каждый Middleware будет отвечать за поиск в запросе определенного поля, и, если найдет, добавление условия в QueryBuilder)
    такчто Interceptors не так уж и уникальны, как вы хотите показать. другое дело, что в Laravel "из коробки" реализовано немного иначе, и, изначально, немного не для тех целей)

  • @adikalona
    @adikalona 8 หลายเดือนก่อน +3

    Да и вобще. Побольше видосов о спиральке бы. Пора туда переходить

    • @CutCodeRu
      @CutCodeRu  8 หลายเดือนก่อน

      А пробовали уже фрейм?

    • @adikalona
      @adikalona 8 หลายเดือนก่อน

      ​@@CutCodeRu На совсем простеньком проекте решил его использовать

  • @DIMASP17
    @DIMASP17 8 หลายเดือนก่อน +3

    Можно больше о spiral

    • @CutCodeRu
      @CutCodeRu  8 หลายเดือนก่อน

      Сделаем)

  • @vovka_goodwin
    @vovka_goodwin 8 หลายเดือนก่อน +1

    Пробовали использовать спираль в качестве фреймворка, из минусов могу сказать - это очень медленная работа с базой, а еще после лары, апи орм выглядит очень неудобной)
    Но есть и пара очень удобных моментов - например объекты конфигов

    • @ButscHster
      @ButscHster 8 หลายเดือนก่อน

      А в чем медленность базы? Не замечал проблем. Есть какие то подробности?

    • @vovka_goodwin
      @vovka_goodwin 8 หลายเดือนก่อน

      ​@@ButscHsterесли честно, подробностей не вспомню, но одной из проблем было то что при запуску миграций он лез в information_schema постгреса не смотря на то что после первого запуска по идее должен был закешировать это, да и после ручного прогрева он это игнорировал

  • @adikalona
    @adikalona 8 หลายเดือนก่อน +1

    Сяп за интерсепторы, дока спираля сыровата, перечитывал раздел с интерсепторами раз 20) Там кстати очепятка есть, которая сильно в заблуждение вводит, да и про параметры метода process ни слова

    • @CutCodeRu
      @CutCodeRu  8 หลายเดือนก่อน

      Что за опечатка?

    • @adikalona
      @adikalona 8 หลายเดือนก่อน

      @@CutCodeRu Там написано, что интерсепторы должны реализовать CoreInterceptorInterface, который требует реализовать метод callAction, хотя очевидно, что речь идет о методе process (или о вызове callAction из process). Вобще этот момент стоило бы более детально разжевать - в примере они создают класс DatabaseQueryCore, внутри которого тоже создают метод callAction, да еще и с почти теме же параметрами, что и callAction интерсептора. В итоге не понятно интерсептор вызывает callAction потомучто в DatabaseQueryCore метод также называется или они просто дали одинаковые названия, а интерсептор должен вызывать callAction всегда. Но тогда непонятно почему параметры сопадают да и как внутри callAction интерсептора определить какой метод DatabaseQueryCore был вызван. А может DatabaseQueryCore обязан реализовать callAction, чтобы получить возможность прицепить к нему интерсептор, и это именно так работает и интерсептор цепляется к целому классу, а не к методу

  • @mr.maclaud
    @mr.maclaud 8 หลายเดือนก่อน

    Когда новый ролик по го?) Там даже кто то попытался ларавел на го перенести, уже есть проект)

    • @CutCodeRu
      @CutCodeRu  8 หลายเดือนก่อน

      Ага, goravel
      Ролик по го скоро сделаем, немного отвлеклись

  • @Mr_x_One
    @Mr_x_One 8 หลายเดือนก่อน +1

    Когда уже новый ролик по moonshine мы сможем увидеть :)

    • @CutCodeRu
      @CutCodeRu  8 หลายเดือนก่อน

      Так только вот стрим же был)

    • @Mr_x_One
      @Mr_x_One 8 หลายเดือนก่อน

      @@CutCodeRu мало ))) мы ненасытные что касается moonshine )))

    • @CutCodeRu
      @CutCodeRu  8 หลายเดือนก่อน +1

      @@Mr_x_One поддерживаю такое) сейчас погружен в разработку 3 версии и периодически буду делать стримы и делится продвижением! Ну и по 2.0 тоже обязательно что нибудь снимем

  • @Endru1994
    @Endru1994 8 หลายเดือนก่อน

    что-то подобное давно реализовано, никогда мне не симпатизирующей: cms wordpress ? Или ошибаюсь ?

    • @CutCodeRu
      @CutCodeRu  8 หลายเดือนก่อน

      Возможно но врядли

  • @vesh95
    @vesh95 8 หลายเดือนก่อน

    Это по сути декоратор же получается
    Есть ли какое-то правило в каком порядке тогда эти интерсепторы будут выполняться? Атрибуты это, конечно, круто, но всё же на то, чтобы оборачивать логику метода ими у меня есть сомнения. Люди сразу же попытаются обернуть в несколько интерсепторов даже не понимая как это работает.

    • @CutCodeRu
      @CutCodeRu  8 หลายเดือนก่อน

      Ну атрибуты здесь как пример а не часть механики интерцепторов

    • @vesh95
      @vesh95 8 หลายเดือนก่อน

      @@CutCodeRu Ну через атрибуты очень удобно всякое делать с такой либой как мне показалось, но тут похоже нужно разобраться с порядком их запуска, иначе авторизовать пользователя не очень хорошо будет после выдачи вьюхи)

  • @KDenisG
    @KDenisG 8 หลายเดือนก่อน

    Сравнение HyperF и laravel octane на swoole, корутины, больше примеров.
    Спираль конечно интересно, но с ларавел не готов пока уходить, а на свул ларавел поддерживает подобие корутин, а это скорость работы прям очень поправляет.

    • @CutCodeRu
      @CutCodeRu  8 หลายเดือนก่อน

      Дойдем и до этого, спасибо

  • @pavlobezdvernyi9348
    @pavlobezdvernyi9348 8 หลายเดือนก่อน +1

    Спираль топ

    • @CutCodeRu
      @CutCodeRu  8 หลายเดือนก่อน

      Используете?

    • @pavlobezdvernyi9348
      @pavlobezdvernyi9348 8 หลายเดือนก่อน

      @@CutCodeRu как раз в стадии РнД для перехода инфры компании с ларика на спиральку

  • @derwin22-w7l
    @derwin22-w7l 8 หลายเดือนก่อน

    как spiral работает с рефлексией? пример на видео, где используется голая нативная рефлексия, на ларе приведет к RPS = 20. Ни о каких нагрузках говорить не получится.

    • @CutCodeRu
      @CutCodeRu  8 หลายเดือนก่อน

      Я рефлексию накидал просто как пример, без какой либо оптимизации
      В новой концепции интерсептороу на сколько я знаю будет и кеш сразу

    • @ButscHster
      @ButscHster 8 หลายเดือนก่อน

      Ну так Spiral = long running, после первого вызова закешировал в память и в след раз достал из памяти.

  • @codememory
    @codememory 8 หลายเดือนก่อน

    Runtime Reflection так себе идея особенно в сторону производительности. Кэш рефлексии нужен

    • @CutCodeRu
      @CutCodeRu  8 หลายเดือนก่อน

      Будет)

    • @ButscHster
      @ButscHster 8 หลายเดือนก่อน

      Ну так Spiral - long running, после первого вызова закешировал в память и в след раз достал из памяти.

  • @mr.maclaud
    @mr.maclaud 8 หลายเดือนก่อน

    про бмв орнул)

    • @CutCodeRu
      @CutCodeRu  8 หลายเดือนก่อน

      Жду когда свяжутся сижу)

  • @MordreDgms
    @MordreDgms 8 หลายเดือนก่อน

    боже какой же бред, что фреймворк что "интерцептор"... зря потратил 25 минут своей жизни

    • @CutCodeRu
      @CutCodeRu  8 หลายเดือนก่อน

      Что ролик, что канал) спасибо за комментарий, рад что вы остаетесь с нами!

  • @dudal7657
    @dudal7657 7 หลายเดือนก่อน

    Господи какой кринж 😅

    • @CutCodeRu
      @CutCodeRu  6 หลายเดือนก่อน

      👨‍🎓