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

Связь: @devmangx
Download Telegram
Тестирование в Laravel 12.28 стало быстрее

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

Отличный прирост производительности для приложений с большим количеством роутов или тяжёлым конфигом

Работает как в PHPUnit, так и в Pest

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥3
Forwarded from IT Portal
PHP живее всех живых: вышел релиз 8.5

В нём: оператор пайпа (|>), расширение для работы с URI, апгрейды констант и ещё куча годноты.

Подробнее тут

@IT_Portal
🔥22👍84
Только спустя столько лет работы с Laravel я узнал, что пустой вызов dd() выводит на страницу эмодзи баг…

Клёво 😂

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
😁36👍6
Вот тебе совет по Laravel

Race condition’ы не выбрасывают исключений - они тихо портят данные.

Если ты обновляешь несколько моделей (особенно в платёжных сценариях!!!), оберни это в транзакцию, залочь строки и выполняй сайд-эффекты после коммита. Будущий ты скажет спасибо

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍8🔥3
Совет по filamentphp

Не полагайтесь на официальную страницу с плагинами, когда речь идёт об актуальной информации по совместимости версий.

Доверяйте GitHub-репозиторию пакета.

Я видел, что на сайте некоторые пакеты помечены как «не совместимые с v4», но если посмотреть на GitHub - они вполне поддерживают v4.

Пример: https://filamentphp.com/plugins/diogogpinto-auth-ui-enhancer

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2
Быстрый cовет по Laravel

Laravel может отправлять тебе email-уведомления, когда важная консольная команда падает. Просто используй хелпер emailOutputOnFailure().

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥113
Кэшировать огромные массивы данных стало проще.

Этот новый пакет делает массу оптимизаций для работы с большим объёмом данных в кэше:

- автоматически определяет крупные payload’ы кэша

- сжимает данные

- разбивает большие массивы или объекты на чанки

- использует умную сериализацию

Знакомьтесь: пакет iazaran/smart-cache.

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍7
Быстрый совет Laravel

Используйте методы вида fake()->xxxxx() для более точных и реалистичных данных.

Вот пример для фейкового адреса недвижимости

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍2
В Laravel есть класс Benchmark, который позволяет замерить время выполнения любой задачи

Это очень удобно, когда нужно быстро проверить время работы конкретной функции или сравнить несколько решений с точки зрения производительности

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
14🔥10🤔1
Как структурировать проекты на Laravel?

Это вопрос №1, который мне задают.

И, как по мне, главное вот что:
Какую бы структуру вы ни выбрали, она должна быть последовательной по всему проекту.

Поэтому при ревью чужого кода именно несогласованность в структуре мгновенно бросается мне в глаза.

Пример прилагается

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍4😁3🤔1
Laravel/PHP совет

Избегайте создания классов с одинаковыми именами в разных директориях.

Они МОГУТ работать, если везде правильно прописаны неймспейсы, но это слишком рискованно

В примере, который мне прислали на ревью, я бы переименовал классы в VisibilityInterface и/или VisibilityEnum.

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤔32👎2
Новый метод билдера запросов в Laravel 12.21

Появился новый метод whereValueBetween() для проверки, находится ли значение между двумя колонками с помощью билдера запросов

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍114🤔4
Полезная PHP-библиотека:
https://github.com/tomloprod/colority

Позволяет:
- преобразовывать и валидировать цвета
- получать цвет с лучшим контрастом (используя коэффициент контрастности по стандарту WCAG 2.0)
- извлекать цвета из изображений

и многое другое

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

Знал ли ты про метод Faker bothify()?

- символ ? заменяется на рандомную букву

- символ # — на рандомную цифру

- символ * — на рандомную букву или цифру

Пример: генерация номерных знаков для автомобиля.

Документация: https://fakerphp.org/formatters/numbers-and-strings/#bothify

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍1
Media is too big
VIEW IN TELEGRAM
Релиз PhpStorm 2025.3

В этом релизе появились нативная интеграция с Claude Agent, поддержка Laravel из коробки, поддержка PHP 8.5, улучшения в работе с дженериками, новая тема Islands и многое другое

https://blog.jetbrains.com/phpstorm/2025/12/phpstorm-2025-3-is-now-out/

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍126🔥3
Laravel 12.42 только что сделал работу с индексами в миграциях гораздо чище.

Встречайте:
whenTableHasIndex()
whenTableDoesntHaveIndex()

Никакого лишнего шаблонного кода. Отличный DX

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍10🌚4🤔1
Laravel совет

Если у вас есть колонка в БД с деньгами и она хранится как DECIMAL, то в модели Eloquent, скорее всего, стоит привести её к типу decimal:2

Тогда при ПОЛУЧЕНИИ значения вы всегда будете выводить корректные денежные значения вроде 10.00, а не 10 или 10.0.

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
17🤔1