PHP Portal | Программирование
4.66K subscribers
426 photos
20 videos
2 files
212 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для PHP-разработчика

Связь: @devmangx
Download Telegram
Совет по PHP

Перечисляйте в match() все варианты enum и не добавляйте ветку default. Если позже кто-то добавит новый вариант и забудет обновить match(), PHP выбросит UnhandledMatchError, а не молча пропустит его. Так отсутствующий вариант невозможно будет проигнорировать.

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
PHP-совет

Знали, что дефолтный объект можно создать прямо в параметре конструктора?

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍5
Разработчики на Laravel, Image API стал ещё лучше в Laravel 13.24.

Теперь доминирующий цвет изображения можно определить с помощью dominantColor().

Также добавлена поддержка HEIC и дополнительных форматов AVIF, что упрощает работу с изображениями с современных устройств.

👉 @PHPgx
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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8
Совет по Laravel

DB::transaction() принимает второй аргумент – сколько раз повторно выполнить весь callback, если база вернула deadlock

Передайте его по имени – attempts: 3, и Laravel попробует выполнить транзакцию до 3 раз вместо того, чтобы сразу завалить запрос

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👎1
TypePHP вышел в open source раньше запланированного 🎉

Изначально релиз исходников был намечен на октябрь, но проект уже доступен на GitHub. Если тема интересна - стоит заглянуть.

https://github.com/swoole/typephp

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥5
Он не из наших

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
😁18❤2
PHP-совет

В числовых литералах можно использовать подчёркивания, чтобы визуально группировать цифры.

Пишите 1_000_000 вместо 1000000 - так значение легче читать и не приходится считать нули.

PHP убирает подчёркивания на этапе компиляции, поэтому само число остаётся точно таким же

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤3
В Laravel 13.30 появился удобный метод для Collection

Использовали chunkWhile(), чтобы просто сгруппировать подряд идущие элементы с одинаковым значением?

Теперь это проще делать через chunkBy().

И в отличие от groupBy(), он сохраняет отдельные чанки, если то же значение встречается снова позже.

Использовали такой паттерн раньше?

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔5❤2
Laravel tip

Нужно получить все записи, кроме последних 5?

skip() сам по себе игнорируется, если после него нет take().

Передайте take(PHP_INT_MAX) — и получите offset без реального ограничения по количеству записей.

Удобно для очистки старой истории.

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
Совет по Laravel

Все исходящие HTTP-ответы можно обрабатывать в одном месте с помощью Http::globalResponseMiddleware().

Этот middleware срабатывает для каждого запроса, который делает HTTP-клиент, независимо от того, где он вызывается в приложении.

Удобно для логирования или сбора метрик - не нужно менять ни один отдельный вызов.

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1