Laravel Idea
341 subscribers
51 photos
8 videos
1 file
12 links
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Недавно обсуждали как оптимизировать конфигурацию групповых .env-значений. Сделал вот так. Тупо по префиксу. С дефолтными значениями. Что скажете?
Выпустил сегодня релиз с небольшим фиксом и поддержкой пакета роут-атрибутов от Спати. Он позволяет роуты делать в стиле симфони(если не ошибаюсь, я хз, может они там до сих пор на yaml-файлах роуты делают): атрибутами на методах и классах контроллеров.

Вообще, я раньше не знал как это сделать. Ведь надо сканить весь проект в поисках этих атрибутов. Делать еще один индекс, который будет у каждого сканить весь проект, для одного не самого популярного пакета - странное решение. Но где-то год назад я завел один индекс, который сканит весь проект, но я в нем вычисляю очень много мета-информации о проекте: гейты авторизации, макросы, блейд-директивы и еще штук 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.
Некоторые уже в курсе, что мы с JetBrains сделали общий bundle, в котором пользователи могут купить шторм вместе с плагином со скидкой. За подробностями сюда.

Картинку взял с корейского обьявления. Там логотип Laravel Idea кажется самым главным)
Jeffrey Way выкладывает на laracasts целый курс про PhpStorm + Laravel Idea. По одному уроку за рабочий день, поэтому я ждал пока выложит последнее, касающееся плагина. Если вдруг кто не видел: https://laracasts.com/series/phpstorm-for-laravel-developers/episodes/1
This media is not supported in your browser
VIEW IN TELEGRAM
Рефакторил весь UI. У меня там минифреймворк образовался над UI-компонентами. И вот я осознал, что упоролся совсем... Но уже поздно. Эти настройки влияют на весь UI Laravel Idea.
Я наконец нашел то апи, которым можно управлять видом того, когда выбираешь например GoTo к ключу транслейшена. Когда их много было ужасно(на картинке вверху). А теперь прилично будет(внизу). Похоже настала пора и поддержку json-ключей для переводов и т.д. Там внутри плагина прям большая переделка будет.
Наконец дошли руки, чтобы запускать команды. Пока сидеры, потом будут артисан-команды с параметрами. Кто готов протестировать запуск сидеров через docker-интерпретатор в шторме? Пишите в комментах.
This media is not supported in your browser
VIEW IN TELEGRAM
Продолжаю добавлять улучшалки жизни. Тут придется сесть и опять захардкодить все имена методов, таких как "map", "where" и еще десятки других... причем для map не надо будет подсказывать билдеры например, поэтому надо еще и разное поведение хардкодить.

Умом понимаю, что этот путь хардкода не очень красивый, но ничего получше в данных условиях придумать пока не могу.
7.3 версия вышла. много вкусного. Сидеры как следует не потестили. В итоге если у них неймспейсы есть, то не запускаются, но это поправим.
Уже два дня полностью переписываю механизм работы с локализацией. Это позволило добавить комплишен для JSON-ключей.

Сам я ненавижу такой подход к локализации, но надо терпеть и делать клиентам хорошо)
This media is not supported in your browser
VIEW IN TELEGRAM
Недавно поработал над мелким laravel-проектом и понял, что крайне не хватает одной фичи. Особенно когда только начал проект. Забивание всех полей в вызовы типа User::create() и другие, где надо кучу полей писать. Пора это исправлять. Делаю сейчас умное заполнение таких массивов нужными значениями($this->fieldName для ресурсов, $request->fieldName в контроллере и т.д.)
This media is not supported in your browser
VIEW IN TELEGRAM
продолжаю эксперименты
This media is not supported in your browser
VIEW IN TELEGRAM
Многие знают, что я ненавижу правила валидации, которые лезут в базу сами. Но комплишены к ним добавить - нет проблем)
Что-то я слегка подзабил на канал, поэтому решил превратить его в основной официальный канал продукта. Буду теперь постить регулярно все новости сюда. На английском. А комментить можно на любом, на котором я пойму(татарский в приоритете).
Channel photo updated
This media is not supported in your browser
VIEW IN TELEGRAM
Working on relations in the "New Eloquent Model" UI. Convenient completions for productive work 🚀
Laravel Idea 8.1 is out. Full Laravel 11 support (current dev-master version), "Add Relation" in the New Eloquent model window and other features.