This media is not supported in your browser
VIEW IN TELEGRAM
На эту фичу ушло очень много времени. Пару недель как минимум. Зато первый настоящий рефакторинг для блейд-компонентов. С распознаванием параметров и их типов.
Появились таки первые туториал видюшки. Пока всего три, но они уже полезные. Скоро будет еще. Их для меня записал Кристоф Румпель, за что ему большое спасибо.
https://www.youtube.com/watch?v=TIwSOHYwG6s&list=PL4pc9iNIOrQAvzPPThXCdCRcSKbAHzQSx
https://www.youtube.com/watch?v=TIwSOHYwG6s&list=PL4pc9iNIOrQAvzPPThXCdCRcSKbAHzQSx
YouTube
Laravel Idea tutorial #1: Installation
Documentation: https://laravel-idea.com/docs/install
Author: Christoph Rumpel (https://christoph-rumpel.com/)
Author: Christoph Rumpel (https://christoph-rumpel.com/)
это скетч новой фичи. Народ давно просит что-то подобное. И вполне можно сделать, но мне кажется что без супер-удобного и быстрого UI для создания полей эта фича не взлетит.
Она должна позволять все делать клавиатурой и крайне быстро. Иначе народ будет по прежнему миграции руками набивать. Хороший такой челлендж :)
Она должна позволять все делать клавиатурой и крайне быстро. Иначе народ будет по прежнему миграции руками набивать. Хороший такой челлендж :)
This media is not supported in your browser
VIEW IN TELEGRAM
Всегда старался уделять время таким вот фичам. Не сказать, что сэкономят много времени, но некий вау-эффект(“Ого какой софт умный!”) - он важен.
This media is not supported in your browser
VIEW IN TELEGRAM
Хорошая удобняшка получилась. Я знаю, многие хотели.
This media is not supported in your browser
VIEW IN TELEGRAM
Помню часто лазил в раздел “available validation rules” документации. Сделал, чтобы из плагина можно было по Shift-F1 сразу открывать доку по нужному правилу. Уже доступно в 5.6 версии.
Потратил час, а то и два, на решение задачи: угадать нужно ли предлагать неймспейс, такой же как у модели, для кодогенерации на ее основе.
Вот здесь, например, мы хотим создать ресурсный контроллер на основе модели Account/Order. Стоит предложить неймспейс “Account/” для контроллера или нет? Надо как-то угадать как принято на проекте.
Решение строю на анализе целевой директории. Если там есть папка “Account”, то ответ очевиден. А если нет, то считаю количество файлов и папок и пытаюсь угадать анализируя эти два числа. Посмотрим как пойдет.
Вот здесь, например, мы хотим создать ресурсный контроллер на основе модели Account/Order. Стоит предложить неймспейс “Account/” для контроллера или нет? Надо как-то угадать как принято на проекте.
Решение строю на анализе целевой директории. Если там есть папка “Account”, то ответ очевиден. А если нет, то считаю количество файлов и папок и пытаюсь угадать анализируя эти два числа. Посмотрим как пойдет.
This media is not supported in your browser
VIEW IN TELEGRAM
Смотрите какая красота. Некоторым роут файлам точно не помешает такой рефакторинг.
Если вдруг кому нечем заняться в пятницу вечером… 🙂 то может вспомните подобные вещи. Есть вызовы
P.S. Кастомные правила валидации через
RateLimiter::for(‘какоето имя’, function(){})
. А потом можно использовать в миддлваре new RateLimited(‘тут тоже самое имя’)
. Хочу добавить много подобных комплишенов, но сам не могу вспомнить - какие такие вызовы есть с регистрацией чего-то и потом использования.P.S. Кастомные правила валидации через
Validator::extend()
я уже подсказываю)Пробую сделать всю генерацию хелпер кода по одной клавише. Оптимизацию провел хорошую и это дает надежду, что оно будет работать. Надо только проверить на больших проектах и машинах послабее. Кто может помочь? Вот версия с последними правками - https://adelf.tech/files/Laravel%20Idea-5.6.2.special.zip
Она стабильная - не бойтесь. Надо скачать, потом в шторме в настройках - Plugin - колесико справа от Installed - Install from file… Пробуйте генерить и оставляйте фидбек в комментах.
Первый запуск генерации сразу после рестарта будет чутка долгий - кеши еще не прогреты. А следующие должны летать.
P.S. внимательные заметили хелпер-код для dispatchable трейтов. Он “добавит” правильные параметры в ::dispatch, ::dispatchNow and ::broadcast методы.
Она стабильная - не бойтесь. Надо скачать, потом в шторме в настройках - Plugin - колесико справа от Installed - Install from file… Пробуйте генерить и оставляйте фидбек в комментах.
Первый запуск генерации сразу после рестарта будет чутка долгий - кеши еще не прогреты. А следующие должны летать.
P.S. внимательные заметили хелпер-код для dispatchable трейтов. Он “добавит” правильные параметры в ::dispatch, ::dispatchNow and ::broadcast методы.
This media is not supported in your browser
VIEW IN TELEGRAM
Продолжаю добавлять удобные переходы в документацию ларки. Добавил для всех методов билдеров и коллекций. По Shift-F1 тоже работает.
Вообще, есть идея сделать редиректы в нужные разделы доки для всех классов Laravel. Разумеется, почти для всего это будет редирект на какой-то раздел доки, а не на конкретный метод. Если кому-то хочется изучить доку вдоль и поперек, помочь мне и немного заработать, то велкам в личку. Обсудим.
Вообще, есть идея сделать редиректы в нужные разделы доки для всех классов Laravel. Разумеется, почти для всего это будет редирект на какой-то раздел доки, а не на конкретный метод. Если кому-то хочется изучить доку вдоль и поперек, помочь мне и немного заработать, то велкам в личку. Обсудим.
Вчера Нуно Мадуро узнал о существовании Laravel Idea. В итоге, почти вся core team ларавеля подписана на твиттер @laravel_idea )
This media is not supported in your browser
VIEW IN TELEGRAM
Недавно выпустил релиз и главной целью его было реализовать различные find usages. Уже писал тут об этом.
Главным преимуществом IDE является как раз грамотная навигация по проекту. Для больших проектов это просто must have, иначе любое изменение становится большой болью.
Главным преимуществом 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
Тестирую ту фичу, о которой недавно тут в комментах говорили. Подсказка скоупов базируясь на типах полей.
Я нормально для булева поля генерю код? А то, я что-то подзабыл...
Я нормально для булева поля генерю код? А то, я что-то подзабыл...