Генерация контроллера будет умной. Если есть реквест, то он будет использовать его, если нет, то стандартный и валидацию прямо в контроллере сделает. Про ресурсы и полиси - тоже знает. Вот пример двух генераций, со всеми классами и без всего - 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-значений. Сделал вот так. Тупо по префиксу. С дефолтными значениями. Что скажете?
Выпустил сегодня релиз с небольшим фиксом и поддержкой пакета роут-атрибутов от Спати. Он позволяет роуты делать в стиле симфони(если не ошибаюсь, я хз, может они там до сих пор на yaml-файлах роуты делают): атрибутами на методах и классах контроллеров.
Вообще, я раньше не знал как это сделать. Ведь надо сканить весь проект в поисках этих атрибутов. Делать еще один индекс, который будет у каждого сканить весь проект, для одного не самого популярного пакета - странное решение. Но где-то год назад я завел один индекс, который сканит весь проект, но я в нем вычисляю очень много мета-информации о проекте: гейты авторизации, макросы, блейд-директивы и еще штук 10 разных вещей. И благодаря ему моментально ищу эти вещи в проекте.
Присобачил роуты-атрибуты туда тоже и очень легко все реализовалось.
Вообще, я раньше не знал как это сделать. Ведь надо сканить весь проект в поисках этих атрибутов. Делать еще один индекс, который будет у каждого сканить весь проект, для одного не самого популярного пакета - странное решение. Но где-то год назад я завел один индекс, который сканит весь проект, но я в нем вычисляю очень много мета-информации о проекте: гейты авторизации, макросы, блейд-директивы и еще штук 10 разных вещей. И благодаря ему моментально ищу эти вещи в проекте.
Присобачил роуты-атрибуты туда тоже и очень легко все реализовалось.
This media is not supported in your browser
VIEW IN TELEGRAM
С полисями была проблема, пока нет второго аргумента - непонятно что подсказывать в первом. Вчера засел решать проблему. Буду изо всех сил вытаскивать возможный класс модели и подсказывать нужные полиси к нему. С красивым комплитом переменной или
Сontact::class
, например.Laravel Idea-7.1.2.231.zip
8.3 MB
Кроме полной переработки работы с Policies, сделал несколько вещей, обязанных повысить стабильность плагина. Но такие вещи вполне могут и дать обратный эффект - начать генерить эксепшены постоянные) Я у себя посмотрел - вроде все нормально.
Просьба поставить у себя и посмотреть правильно ли работает умная подсказка полисей и нет ли падений(эксепшены вылазят красной штукой справа внизу - там же можно отправить Report - он упадет прямо ко мне - я буду очень рад). Плагин ставится так: качается файл, в шторме в настройках Plugins > колесико > Install from file.
Просьба поставить у себя и посмотреть правильно ли работает умная подсказка полисей и нет ли падений(эксепшены вылазят красной штукой справа внизу - там же можно отправить Report - он упадет прямо ко мне - я буду очень рад). Плагин ставится так: качается файл, в шторме в настройках Plugins > колесико > Install from file.
Некоторые уже в курсе, что мы с JetBrains сделали общий bundle, в котором пользователи могут купить шторм вместе с плагином со скидкой. За подробностями сюда.
Картинку взял с корейского обьявления. Там логотип Laravel Idea кажется самым главным)
Картинку взял с корейского обьявления. Там логотип Laravel Idea кажется самым главным)
Jeffrey Way выкладывает на laracasts целый курс про PhpStorm + Laravel Idea. По одному уроку за рабочий день, поэтому я ждал пока выложит последнее, касающееся плагина. Если вдруг кто не видел: https://laracasts.com/series/phpstorm-for-laravel-developers/episodes/1
Laracasts
Hello, PhpStorm
Discover PhpStorm, a powerful code editor that boosts your workflow with debugging, dynamic snippets, tool integration, and seamless testing for smoother coding.
This media is not supported in your browser
VIEW IN TELEGRAM
Рефакторил весь UI. У меня там минифреймворк образовался над UI-компонентами. И вот я осознал, что упоролся совсем... Но уже поздно. Эти настройки влияют на весь UI Laravel Idea.
Я наконец нашел то апи, которым можно управлять видом того, когда выбираешь например GoTo к ключу транслейшена. Когда их много было ужасно(на картинке вверху). А теперь прилично будет(внизу). Похоже настала пора и поддержку json-ключей для переводов и т.д. Там внутри плагина прям большая переделка будет.
This media is not supported in your browser
VIEW IN TELEGRAM
Продолжаю добавлять улучшалки жизни. Тут придется сесть и опять захардкодить все имена методов, таких как "map", "where" и еще десятки других... причем для map не надо будет подсказывать билдеры например, поэтому надо еще и разное поведение хардкодить.
Умом понимаю, что этот путь хардкода не очень красивый, но ничего получше в данных условиях придумать пока не могу.
Умом понимаю, что этот путь хардкода не очень красивый, но ничего получше в данных условиях придумать пока не могу.