Выложил релизы .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
Простой пример: надо найти значение 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-файла. Для этого оно должно генерить космически быстро. Думаю, будет уже в одной из следующих версий.
Выпустил сегодня версию 6.2. Фич не так чтобы много. Много усилий ушло на оптимизацию всякую и кеширование. Главная цель - генерить хелпер код автоматом после каждого сохранения php-файла. Для этого оно должно генерить космически быстро. Думаю, будет уже в одной из следующих версий.
This media is not supported in your browser
VIEW IN TELEGRAM
Работа идет медленно, но идет. Постоянно на правку других багов и мелкие фичи отвлекаюсь. Небольшая гифка-иллюстрация к предыдущему посту. Красивый и быстрый набор всего клавой.
Генерация контроллера будет умной. Если есть реквест, то он будет использовать его, если нет, то стандартный и валидацию прямо в контроллере сделает. Про ресурсы и полиси - тоже знает. Вот пример двух генераций, со всеми классами и без всего - https://gist.github.com/adelf/8aed89f8aae7284e87f4cf89b856f032
Кому в воскресенье делать нечего кому интересно - пишите критику и пожелания.
P.S. в воскресенье утром решил пост сделать без звукового уведомления)
P.S. в воскресенье утром решил пост сделать без звукового уведомления)
Повилас Короп раздает 10 лицензий на плагин. Можете поучаствовать. https://www.youtube.com/watch?v=DWeCzL3Ma6Q
YouTube
Giveaway: Laravel Idea Free for 10 People!
Another giveaway for the channel viewers, this time it's Laravel Idea!
Giveaway URL: https://laraveldaily.com/giveaway/idea10
My video "Laravel Idea: PhpStorm Plugin To Save Your Time": https://www.youtube.com/watch?v=o5WJIS9yWCo
- - - - -
Support the channel…
Giveaway URL: https://laraveldaily.com/giveaway/idea10
My video "Laravel Idea: PhpStorm Plugin To Save Your Time": https://www.youtube.com/watch?v=o5WJIS9yWCo
- - - - -
Support the channel…
This media is not supported in your browser
VIEW IN TELEGRAM
Вчера в чатике этого канала один товарищ пожаловался, что ему лень писать $table в конструкции Schema::table(…). Я решил вопрос более радикально и понял, что такие вот мелочи спасают намного больше времени, чем некоторые даже сильно более сложные фичи.
Решил еще добавить комплишенов для методов контроллера(create(), store() с умным вычислением параметров). И для форм реквеста генерить методы типа
У кого еще какие предложения о таких вот комплишенах целых методов? Хочу хоть немного напоминать всякие Копилоты…
Решил еще добавить комплишенов для методов контроллера(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 бакса в месяц за это просит! (Петя, включи комментарии в канале. Иногда интересно же пообсуждать)
Forwarded from Пятиминутка PHP
Новая бизнес-ниша: нейронка по модели SaaS заточенная под генерацию кода Laravel проектов https://smousss.com
На самом деле у них нет никакой своей нейронки, они перенаправляют запросы в OpenAI API с заранее отточенными настройками prompt, результат пишется сразу в PHP файлы на локальной машине пользователя. Удобная обёртка, чтобы не копипастить код туда-сюда вручную в/из ChatGPT.
Пока заготовлены такие сценарии:
- Convert all your tests from PHPUnit to Pest 2
- Create Laravel Nova admin panels at light speed
- Enjoy the convenience of migrations again
- Magically add missing Model Factories
- Make entire Laravel projects translatable
Пример: создание Fillament админки по классу модели
На самом деле у них нет никакой своей нейронки, они перенаправляют запросы в OpenAI API с заранее отточенными настройками prompt, результат пишется сразу в PHP файлы на локальной машине пользователя. Удобная обёртка, чтобы не копипастить код туда-сюда вручную в/из ChatGPT.
Пока заготовлены такие сценарии:
- Convert all your tests from PHPUnit to Pest 2
- Create Laravel Nova admin panels at light speed
- Enjoy the convenience of migrations again
- Magically add missing Model Factories
- Make entire Laravel projects translatable
Пример: создание Fillament админки по классу модели
php artisan smousss:filamentize App\\Models\\Post
This media is not supported in your browser
VIEW IN TELEGRAM
Недавно обсуждали как оптимизировать конфигурацию групповых .env-значений. Сделал вот так. Тупо по префиксу. С дефолтными значениями. Что скажете?