Comments 19
О спасибо за инфу, а то я совсем выпал)
Расширенная поддержка 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, которая существует уже лет 8 минимум. С Policy всё действительно запутанно, но на это можно доку почитать и разобрать.
Мидлварь - ну как название зарегистрируешь, такое и будешь использовать. Что конкретно ты там вложишь в него - это только тебе известно.
Поэтому просто нужно изучить фреймворк, а не плеваться от неоднозначности. В ларе всё достаточно прозрачно, если хотя бы раз прочитать доку.
А так, как по мне, наоборот с декораторами стало немного понятнее, меня люто бесило, что мидлвари прописывались в роутах, из-за чего их надо было постоянно прокидывать в конструкторе контроллера, чаще всего с методом only(). Теперь вот это в разы проще.
А: смотри, это запутано, и мне это не нравится
Б: да, запутано, но надо просто изучить доку
А: смотри, это неявно, и потому неудобно
Б: да, это неявно, и поэтому неудобно, но надо просто изучить доку
А: мне кажется что плохо когда в рабочем инструменте плюёшься от неоднозначности
Б: это плохо, когда в рабочем инструменте плюёшься от неоднозначности. но просто нужно изучить запутанный, неявный, неудобный фреймворк, и выбрать его своим рабочим инструментом, а не плеваться от неоднозначности. всё достаточно прозрачно, если хотя бы раз прочитать доку
Мне не о чем с вами разговаривать. Удачи вам!
Бред. Это не "не удобно", а просто требует небольшого изучения. В остальном, вкусовщина. Не нравится - пользуйся тем, что нравится (явно не Laravel и PHP в целом, в таком случае), никто не заставляет.
А то с такими успехами можно так же про что угодно сказать, мол фреймворки не те, языки программирования вообще не удобные, доки изобретали идиоты, поэтому пойдёмте на счётах считать)
А: Смотри, Джонни, это куча говна в тарелке! Это ужасно!
Б: Да нет, нормально, надо просто немного привыкнуть, и почитать в документации какими приборами правильнее ее поделить на кусочки чтобы помещалась в рот
В: Но, Джонни, я и не собирался ее есть...
Бред отвечать предложением "потерпеть привыкнуть приноровиться подстроиться приучиться" на любую критику. Это тупик :)
Это просто гейты с проверкой прав. Если ты видишь там кучу говна, то мои соболезнования, кажется, это ты скорее всего её навалил)
ее навалили разрабы ларавеля, которым пользуешься ты, так что... не обляпайся.
я говорю про низкое качество дизайна, вы аппелируеое то к традиции (где вы были 8 лет, лол), то к "надо просто изучить".
если вы не готовы обсуждать со мной качество дизайна, то зачем вступаете в дискуссию?
Ты изначально говорил, что тебе ничего не понятно, а дальше просто обсираешь laravel на основе демо кода и рандомных названий, которые задаются разработчиком. Логика моё почтение. Можешь до hello world ещё докопаться, я не знаю)
Думаю, всё понятно, компетенции в фреймворке, судя по всему, у тебя нет, и продолжать диалог смысла тоже нет.
Laravel делает серьезный шаг в сторону AI-нативного подхода, это выглядит очень органично.
а AI SDK с единым API - то, чего не хватало для быстрого прототипирования + нативная поддержка семантического поиска через pgvector и развитие атрибутов. Код становится действительно декларативным. Спасибо команде за минимизацию breaking changes!
я может чего то не понимаю, но они вроде просто завернули api'шку llm'ок в php api.
причем здесь ai-native, и что это вообще значит?
Этот коммент тоже написан нейросетью или что?) От ИИ там только название. В лучшем случае сценарий использования - сгенерить какую-нибудь аватарку зарегистрировавшемуся пользователю или проанализировать отчётик. Код само оно писать не будет.
Laravel 13. Что нового?