Laravel Idea
341 subscribers
51 photos
8 videos
1 file
12 links
Download Telegram
Вчера Нуно Мадуро узнал о существовании Laravel Idea. В итоге, почти вся core team ларавеля подписана на твиттер @laravel_idea )
This media is not supported in your browser
VIEW IN TELEGRAM
Недавно выпустил релиз и главной целью его было реализовать различные find usages. Уже писал тут об этом.

Главным преимуществом IDE является как раз грамотная навигация по проекту. Для больших проектов это просто must have, иначе любое изменение становится большой болью.
Выложил релизы .env и Laravel Idea плагинов для нового PhpStorm 2022.3 EAP. Пишу на тот случай, если только это вас останавливало от того, чтобы попробовать.
Выпустил сегодня релиз 6.0. Там в основном фиксы багов и оптимизации. Мажорным сделал для того, чтобы тем, кому JetBrains продлила лицензии до 1 октября - 6.* версии остались с ними навсегда. Вроде такую логику они сделали для IDE. Надеюсь, для плагинов тоже.
This media is not supported in your browser
VIEW IN TELEGRAM
Сделал немножко разных подсказок, чтобы стандартные методы элоквента было легче создавать. Это правильнее было бы делать через live templates, но там оно пока не умеет заимпортить классы, которые нужны(Builder, BelongsTo - эти вот). Из двух зол пришлось выбирать.
This media is not supported in your browser
VIEW IN TELEGRAM
Тестирую ту фичу, о которой недавно тут в комментах говорили. Подсказка скоупов базируясь на типах полей.

Я нормально для булева поля генерю код? А то, я что-то подзабыл...
сделал сегодня поддержку этого пакета расширений для коллекций и не смог удержаться, чтобы не подстебнуть) за странные методы, вроде выдергивания девятого элемента из коллекции.
Сделал очень большую перестройку в архитектуре. Настроил правильное кеширование с вычислением всех зависимостей.

Простой пример: надо найти значение config('app.name') строки. Оно лезет в правильный конфиг-файл, находит там env() вызов, лезет в .env файл и находит значение. Все это попадает в кеш, но если обновится .env файл или тот конфиг-файл - надо этот кеш сбросить. Все это теперь работает как надо.

Вроде все стабильно, но если есть желающие - просьба проверить до публичного релиза. Там еще полно всяких новых фич) Если вдруг увидите в правом нижнем углу мигающую красную штуку - нажать и отправить репорт "Send to Laravel Idea" вроде.

Ставится просто - качаем файл для своего релиза. .222 для 2022.2 шторма. .223 для 2022.3 шторма. Идем в настройки - Plugins - там шестеренку справа от Installed - Install from file. И перезагрузка шторма.

https://laravel-idea.com/releases/Laravel%20Idea-6.2.0.222.zip
https://laravel-idea.com/releases/Laravel%20Idea-6.2.0.223.zip
Простое следствие предыдущего поста - поскольку всё в кеше, я могу и значения показать при комплишене.
Ровно 3 года назад, 5 декабря 2019, я выпустил Laravel Idea 1.0. За несколько дней до этого один китаец сьел что-то не то и понеслось. А потом еще и война. Почти уверен, что без своего продукта, в который можно всегда окунуться с головой, мне было бы сильно сложнее.

Выпустил сегодня версию 6.2. Фич не так чтобы много. Много усилий ушло на оптимизацию всякую и кеширование. Главная цель - генерить хелпер код автоматом после каждого сохранения php-файла. Для этого оно должно генерить космически быстро. Думаю, будет уже в одной из следующих версий.
Давно хотел сделать продвинутое создание модельки. Чтобы быстро все клавой набивать: написал, таб, выбрал, таб и т.д. Ну и после такого можно сразу и фабрику и реквест создать с полями, как я хотел. Эскиз чуть ли не год назад делал. Наконец начал делать реальный UI.
This media is not supported in your browser
VIEW IN TELEGRAM
Работа идет медленно, но идет. Постоянно на правку других багов и мелкие фичи отвлекаюсь. Небольшая гифка-иллюстрация к предыдущему посту. Красивый и быстрый набор всего клавой.
Генерация контроллера будет умной. Если есть реквест, то он будет использовать его, если нет, то стандартный и валидацию прямо в контроллере сделает. Про ресурсы и полиси - тоже знает. Вот пример двух генераций, со всеми классами и без всего - https://gist.github.com/adelf/8aed89f8aae7284e87f4cf89b856f032
Кому в воскресенье делать нечего кому интересно - пишите критику и пожелания.

P.S. в воскресенье утром решил пост сделать без звукового уведомления)
ChatGpt, видимо, уже считает Laravel Idea частью шторма)
Вчера перед сном смотрел какие есть возможности у плагинов для java-фреймворков(да-да). Увидел, что они подсказывают ключи настройки, основываясь на коде, который эти настройки потом юзает. И буквально за 5 минут сделал такое же для .env ключей. Опять та же мысль - а раньше нельзя было?
Говорят, Laravel Idea 7.0 вышла. С теми самыми фичами: редактором новой модели, с саппортом twig-вьюшек, комплишенами .env ключей и кучей всякой мелочи, о которой, как обычно, знаю только я. Го тестить?)
This media is not supported in your browser
VIEW IN TELEGRAM
Вчера в чатике этого канала один товарищ пожаловался, что ему лень писать $table в конструкции Schema::table(…). Я решил вопрос более радикально и понял, что такие вот мелочи спасают намного больше времени, чем некоторые даже сильно более сложные фичи.

Решил еще добавить комплишенов для методов контроллера(create(), store() с умным вычислением параметров). И для форм реквеста генерить методы типа getName(): string { return $this->input(‘name’); }

У кого еще какие предложения о таких вот комплишенах целых методов? Хочу хоть немного напоминать всякие Копилоты…
This media is not supported in your browser
VIEW IN TELEGRAM
Что скажете? Хочу еще для enum отдельное, для чисел разных(например для правила integer). Может еще для uuid… тут буду рад если подскажет, кто так делает для реквестов - как код должен выглядеть.
Эта последняя фича с методами форм-реквестов показала насколько сильно я отстал от ларковской жизни. Когда я активно писал на ней - это было вполне норм. И генерация таких методов вполне оправдывала бы себя. А сейчас - там есть удобные методы типа ->date() ->enum() и так далее. Актуальность написания своих таких методов близка к нулю. Теперь придется надеяться только на активный фидбек юзеров… 🙁
Зато теперь я знаю какие фичи надо реализовывать) Человек 24 бакса в месяц за это просит! (Петя, включи комментарии в канале. Иногда интересно же пообсуждать)