Комментарии 9
О спасибо за инфу, а то я совсем выпал)
Расширенная поддержка PHP Attributes
смотрю на этот контроллер, и мне плохо от количества магии в этих атрибутах
#[Authorize('create', [Comment::class, 'post'])]
public function store(Post $post)так что с комментом происходит: create, post или store? а авторизовывается какое действие: create или post? почему контроллер CommentController работает с моделью Post, а не с Comment?
Middleware('subscribed')]что за мидлвэр "сабскрайбед"? кто на что подписан? где его искать чтобы понять что оно делает?
ларавел - жуть, ощущение что меня хотят запутать, а не помочь
С аттрибутами и правда беда.Зачем и когда использовать опять надо в голове держать.Вроде AI поддержа выглядит красиво но эти аттрибуты это как: Вы подходите в двери и чтобы ее открыть - Вам нужен ключ. Вы его достаете и понимание что Вам теперь нужен еще ключ на этот ключ.И тут получается взрыв мозга.Мне же просто в дверь войти! Ребята явно заигрались с улучшениями
Я думаю тут проблема не в атрибутах, а ав нейминге, ну или в плохих примерах
и там и там на самом деле
атрибут никак не помогает понять что именно происходит (сигнатура атрибута Authorize `create, [someClass::class, "post"]`, там где мы ожидаем чтото типа "авторизовать действие X")
мидлвэр "subscribed" указывает что где то есть какой то реестр именованных мидлвэров (а мог бы указывать на конректный класс, например)
возможно, если бы аргументы указывали бы с ключами (`paramName: value`), то было бы легче.
однако именно плохой пример с позиционными аргументами явно и наглядно демонстрирует дерьмовый дизайн фреймворка
Laravel делает серьезный шаг в сторону AI-нативного подхода, это выглядит очень органично.
а AI SDK с единым API - то, чего не хватало для быстрого прототипирования + нативная поддержка семантического поиска через pgvector и развитие атрибутов. Код становится действительно декларативным. Спасибо команде за минимизацию breaking changes!

Laravel 13. Что нового?