Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥2👀1
Laravel 12.37 добавляет новый метод insert() для фабрик моделей
Теперь можно засевать тысячи записей одним SQL-запросом
- События моделей и наблюдатели не вызываются, работает как сырой insert.
Идеально подходит для тестирования, сидирования и высоконагруженных сценариев💡
👉 @PHPgx
Теперь можно засевать тысячи записей одним SQL-запросом
- События моделей и наблюдатели не вызываются, работает как сырой insert.
Идеально подходит для тестирования, сидирования и высоконагруженных сценариев
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍4❤3
Для всех, кто говорит: «Зачем разработчики Laravel изобретают колесо заново?» 👀
Потому что наши колёса - со стилем, читаемостью и скоростью😎
PHP просто работает. Laravel течёт
👉 @PHPgx
Потому что наши колёса - со стилем, читаемостью и скоростью
PHP просто работает. Laravel течёт
Please open Telegram to view this post
VIEW IN TELEGRAM
😁11👍7❤5🔥1🌭1
Начиная с Laravel 12.36, можно использовать метод
👉 @PHPgx
File::allDirectories, чтобы получить массив всех вложенных директорий (включая поддиректории) в указанном путиPlease open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2❤1👎1
Совет по таблицам filamentphp
Группы по дате
Когда вы используете колонку с типом date-time для группировки, может понадобиться сгруппировать записи только по дате, игнорируя время.
Для этого используйте метод
Документация: https://filamentphp.com/docs/4.x/tables/grouping#date-groups
👉 @PHPgx
Группы по дате
Когда вы используете колонку с типом date-time для группировки, может понадобиться сгруппировать записи только по дате, игнорируя время.
Для этого используйте метод
date() у объекта Group.Документация: https://filamentphp.com/docs/4.x/tables/grouping#date-groups
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🌭1
Новая валидация в Laravel 12.21
Добавлено новое правило
👉 @PHPgx
Добавлено новое правило
in_array_keys, которое проверяет наличие определённых ключей в массиве. Больше не нужно вручную вызывать array_key_exists.Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥6❤1🏆1
Тестирование в Laravel 12.28 стало быстрее
Теперь можно кэшировать роуты и конфиг один раз за прогон тестов, вместо того чтобы пересобирать их для каждого теста.
Отличный прирост производительности для приложений с большим количеством роутов или тяжёлым конфигом
Работает как в PHPUnit, так и в Pest
👉 @PHPgx
Теперь можно кэшировать роуты и конфиг один раз за прогон тестов, вместо того чтобы пересобирать их для каждого теста.
Отличный прирост производительности для приложений с большим количеством роутов или тяжёлым конфигом
Работает как в PHPUnit, так и в Pest
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥3
Forwarded from IT Portal
PHP живее всех живых: вышел релиз 8.5
В нём: оператор пайпа (|>), расширение для работы с URI, апгрейды констант и ещё куча годноты.
Подробнее тут
@IT_Portal
В нём: оператор пайпа (|>), расширение для работы с URI, апгрейды констант и ещё куча годноты.
Подробнее тут
@IT_Portal
🔥22👍8❤4
Только спустя столько лет работы с Laravel я узнал, что пустой вызов
Клёво😂
👉 @PHPgx
dd() выводит на страницу эмодзи баг… Клёво
Please open Telegram to view this post
VIEW IN TELEGRAM
😁36👍6
Вот тебе совет по Laravel
Race condition’ы не выбрасывают исключений - они тихо портят данные.
Если ты обновляешь несколько моделей (особенно в платёжных сценариях!!!), оберни это в транзакцию, залочь строки и выполняй сайд-эффекты после коммита. Будущий ты скажет спасибо
👉 @PHPgx
Race condition’ы не выбрасывают исключений - они тихо портят данные.
Если ты обновляешь несколько моделей (особенно в платёжных сценариях!!!), оберни это в транзакцию, залочь строки и выполняй сайд-эффекты после коммита. Будущий ты скажет спасибо
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
Не полагайтесь на официальную страницу с плагинами, когда речь идёт об актуальной информации по совместимости версий.
Доверяйте GitHub-репозиторию пакета.
Я видел, что на сайте некоторые пакеты помечены как «не совместимые с v4», но если посмотреть на GitHub - они вполне поддерживают v4.
Пример: https://filamentphp.com/plugins/diogogpinto-auth-ui-enhancer
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-уведомления, когда важная консольная команда падает. Просто используй хелпер
👉 @PHPgx
Laravel может отправлять тебе email-уведомления, когда важная консольная команда падает. Просто используй хелпер
emailOutputOnFailure().Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤3
Кэшировать огромные массивы данных стало проще.
Этот новый пакет делает массу оптимизаций для работы с большим объёмом данных в кэше:
- автоматически определяет крупные payload’ы кэша
- сжимает данные
- разбивает большие массивы или объекты на чанки
- использует умную сериализацию
Знакомьтесь: пакет
👉 @PHPgx
Этот новый пакет делает массу оптимизаций для работы с большим объёмом данных в кэше:
- автоматически определяет крупные payload’ы кэша
- сжимает данные
- разбивает большие массивы или объекты на чанки
- использует умную сериализацию
Знакомьтесь: пакет
iazaran/smart-cache.Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍7
Быстрый совет Laravel
Используйте методы вида
Вот пример для фейкового адреса недвижимости
👉 @PHPgx
Используйте методы вида
fake()->xxxxx() для более точных и реалистичных данных.Вот пример для фейкового адреса недвижимости
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
Это вопрос №1, который мне задают.
И, как по мне, главное вот что:
Какую бы структуру вы ни выбрали, она должна быть последовательной по всему проекту.
Поэтому при ревью чужого кода именно несогласованность в структуре мгновенно бросается мне в глаза.
Пример прилагается
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4😁3🤔1
Laravel/PHP совет
Избегайте создания классов с одинаковыми именами в разных директориях.
Они МОГУТ работать, если везде правильно прописаны неймспейсы, но это слишком рискованно
В примере, который мне прислали на ревью, я бы переименовал классы в VisibilityInterface и/или VisibilityEnum.
👉 @PHPgx
Избегайте создания классов с одинаковыми именами в разных директориях.
Они МОГУТ работать, если везде правильно прописаны неймспейсы, но это слишком рискованно
В примере, который мне прислали на ревью, я бы переименовал классы в VisibilityInterface и/или VisibilityEnum.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤔3❤2👎2
Новый метод билдера запросов в Laravel 12.21
Появился новый метод
👉 @PHPgx
Появился новый метод
whereValueBetween() для проверки, находится ли значение между двумя колонками с помощью билдера запросовPlease open Telegram to view this post
VIEW IN TELEGRAM
👍11❤4🤔4