Нашёл полезный пакет для Laravel!
sunchayn/nimbus — встроенный API-клиент для Laravel, работающий прямо в браузере.
https://github.com/sunchayn/nimbus
Автоматически анализирует ваши маршруты и правила валидации, чтобы генерировать интерактивные схемы запросов и предоставлять нативный интерфейс для тестирования, исследования и отладки API
👉 @PHPgx
sunchayn/nimbus — встроенный API-клиент для Laravel, работающий прямо в браузере.
https://github.com/sunchayn/nimbus
Автоматически анализирует ваши маршруты и правила валидации, чтобы генерировать интерактивные схемы запросов и предоставлять нативный интерфейс для тестирования, исследования и отладки API
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
Laravel-совет
Знали ли вы, что аксессоры Eloquent могут возвращать небольшие value objects?
Пример: вместо того чтобы в каждом Blade-шаблоне, view или сервисе повторять fallback-логику вроде «name или email», можно один раз обернуть связанные колонки и вызывать методы, которые явно отражают намерение.
👉 @PHPgx
Знали ли вы, что аксессоры Eloquent могут возвращать небольшие value objects?
Пример: вместо того чтобы в каждом Blade-шаблоне, view или сервисе повторять fallback-логику вроде «name или email», можно один раз обернуть связанные колонки и вызывать методы, которые явно отражают намерение.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🤔1
Совет по Laravel
👉 @PHPgx
DB::listen() цепляется за каждый SQL-запрос, который выполняет Laravel, и отдает SQL, биндинги и время выполнения. Достаточно зарегистрировать один listener в service provider, чтобы логировать медленные запросы или разбирать N+1-проблемы по всему приложениюPlease open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3❤2
В Laravel 13.19 в хелпер
Небольшое изменение, но теперь форматировать счётчики в пользовательском интерфейсе стало заметно удобнее и выразительнее.
Ещё на одно место меньше, где нужно вручную учитывать единственное и множественное число.
👉 @PHPgx
str() добавили метод counted().Небольшое изменение, но теперь форматировать счётчики в пользовательском интерфейсе стало заметно удобнее и выразительнее.
Ещё на одно место меньше, где нужно вручную учитывать единственное и множественное число.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍1
Совет по Laravel
Сделайте даты Carbon в приложении неизменяемыми
Всего одна строка в
👉 @PHPgx
Сделайте даты Carbon в приложении неизменяемыми
Всего одна строка в
AppServiceProvider — и $date->addDay() больше не будет незаметно менять исходный объект, который может использоваться в другом месте.Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
PhpStorm 2026.2 уже доступен!
В релиз вошло множество обновлений, среди которых:
Подробности релиза:
https://jetbrains.com/phpstorm/whatsnew/
Особенно радует новое окно инструментов Laravel:
- общая информация о проекте и быстрый доступ к командам Artisan;
- просмотр локальных логов и логов из Sentry;
- отдельная вкладка Laravel Cloud для управления деплоями и переменными окружения.
👉 @PHPgx
В релиз вошло множество обновлений, среди которых:
- Постоянные ссылки на файлы с помощью #[FileReference]
- Новое окно инструментов Laravel
- Улучшения для работы с Git worktree
- Встроенный GitHub Copilot
Подробности релиза:
https://jetbrains.com/phpstorm/whatsnew/
Особенно радует новое окно инструментов Laravel:
- общая информация о проекте и быстрый доступ к командам Artisan;
- просмотр локальных логов и логов из Sentry;
- отдельная вкладка Laravel Cloud для управления деплоями и переменными окружения.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥4
В Laravel Cloud появился Secrets Manager 🎉
Теперь можно создавать секреты на уровне организации, подключать их к любому окружению и ротировать централизованно. Для всех окружений, где используются обновлённые секреты, доступен повторный деплой в один клик.
Значения шифруются прямо в браузере и после сохранения больше не отображаются. Функция доступна на всех тарифах.
Подробнее - в документации → https://cloud.laravel.com/docs/secrets
👉 @PHPgx
Теперь можно создавать секреты на уровне организации, подключать их к любому окружению и ротировать централизованно. Для всех окружений, где используются обновлённые секреты, доступен повторный деплой в один клик.
Значения шифруются прямо в браузере и после сохранения больше не отображаются. Функция доступна на всех тарифах.
Подробнее - в документации → https://cloud.laravel.com/docs/secrets
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Разработчики на Laravel, теперь тесты валидации
В Laravel 13.22 добавили возможность подменять DNS-запросы во время валидации.
Можно точно задать, какие DNS-записи должны возвращаться, и сделать тесты предсказуемыми - без внешних DNS-запросов.
👉 @PHPgx
email:dns больше не должны зависеть от реального DNS.В Laravel 13.22 добавили возможность подменять DNS-запросы во время валидации.
Можно точно задать, какие DNS-записи должны возвращаться, и сделать тесты предсказуемыми - без внешних DNS-запросов.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
Совет по PHP
Перечисляйте в
👉 @PHPgx
Перечисляйте в
match() все варианты enum и не добавляйте ветку default. Если позже кто-то добавит новый вариант и забудет обновить match(), PHP выбросит UnhandledMatchError, а не молча пропустит его. Так отсутствующий вариант невозможно будет проигнорировать.Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
Разработчики на Laravel, Image API стал ещё лучше в Laravel 13.24.
Теперь доминирующий цвет изображения можно определить с помощью
Также добавлена поддержка HEIC и дополнительных форматов AVIF, что упрощает работу с изображениями с современных устройств.
👉 @PHPgx
Теперь доминирующий цвет изображения можно определить с помощью
dominantColor().Также добавлена поддержка HEIC и дополнительных форматов AVIF, что упрощает работу с изображениями с современных устройств.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Полезный пакет для Laravel!
MiranSalehi/mksine — основа CMS на Laravel + Filament 5: визуальный page builder, устанавливаемые плагины и темы, хуки, меню, медиабиблиотека, настройки, переводы и отдельная консоль Super Admin.
Это Composer-пакет для создания контентных сайтов и расширяемых админок без необходимости форкать Laravel.
https://github.com/miransalehi/mksine
👉 @PHPgx
MiranSalehi/mksine — основа CMS на Laravel + Filament 5: визуальный page builder, устанавливаемые плагины и темы, хуки, меню, медиабиблиотека, настройки, переводы и отдельная консоль Super Admin.
Это Composer-пакет для создания контентных сайтов и расширяемых админок без необходимости форкать Laravel.
https://github.com/miransalehi/mksine
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8
Совет по Laravel
Передайте его по имени –
👉 @PHPgx
DB::transaction() принимает второй аргумент – сколько раз повторно выполнить весь callback, если база вернула deadlockПередайте его по имени –
attempts: 3, и Laravel попробует выполнить транзакцию до 3 раз вместо того, чтобы сразу завалить запросPlease open Telegram to view this post
VIEW IN TELEGRAM
❤10👎1
TypePHP вышел в open source раньше запланированного 🎉
Изначально релиз исходников был намечен на октябрь, но проект уже доступен на GitHub. Если тема интересна - стоит заглянуть.
https://github.com/swoole/typephp
👉 @PHPgx
Изначально релиз исходников был намечен на октябрь, но проект уже доступен на GitHub. Если тема интересна - стоит заглянуть.
https://github.com/swoole/typephp
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥5
PHP-совет
В числовых литералах можно использовать подчёркивания, чтобы визуально группировать цифры.
Пишите
PHP убирает подчёркивания на этапе компиляции, поэтому само число остаётся точно таким же
👉 @PHPgx
В числовых литералах можно использовать подчёркивания, чтобы визуально группировать цифры.
Пишите
1_000_000 вместо 1000000 - так значение легче читать и не приходится считать нули.PHP убирает подчёркивания на этапе компиляции, поэтому само число остаётся точно таким же
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤3
В Laravel 13.30 появился удобный метод для Collection
Использовали
Теперь это проще делать через
И в отличие от
Использовали такой паттерн раньше?
👉 @PHPgx
Использовали
chunkWhile(), чтобы просто сгруппировать подряд идущие элементы с одинаковым значением?Теперь это проще делать через
chunkBy().И в отличие от
groupBy(), он сохраняет отдельные чанки, если то же значение встречается снова позже.Использовали такой паттерн раньше?
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔5❤2
Laravel tip
Нужно получить все записи, кроме последних 5?
Передайте
Удобно для очистки старой истории.
👉 @PHPgx
Нужно получить все записи, кроме последних 5?
skip() сам по себе игнорируется, если после него нет take().Передайте
take(PHP_INT_MAX) — и получите offset без реального ограничения по количеству записей.Удобно для очистки старой истории.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
Совет по Laravel
Все исходящие HTTP-ответы можно обрабатывать в одном месте с помощью
Этот middleware срабатывает для каждого запроса, который делает HTTP-клиент, независимо от того, где он вызывается в приложении.
Удобно для логирования или сбора метрик - не нужно менять ни один отдельный вызов.
👉 @PHPgx
Все исходящие HTTP-ответы можно обрабатывать в одном месте с помощью
Http::globalResponseMiddleware().Этот middleware срабатывает для каждого запроса, который делает HTTP-клиент, независимо от того, где он вызывается в приложении.
Удобно для логирования или сбора метрик - не нужно менять ни один отдельный вызов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1