PHP и Laravel дайджест новостей за февраль 2024 года

Всем привет! Краткий обзор новостей из мира PHP и Laravel за январь 2024 года от Сергея Пантелеева и Данила Щуцкого (CutCode).

Бесплатный веб-фреймворк с открытым кодом

Всем привет! Краткий обзор новостей из мира PHP и Laravel за январь 2024 года от Сергея Пантелеева и Данила Щуцкого (CutCode).

В предыдущей статье по работе с API ресурсами в Laravel была затронута тема изменения бизнес-потребностей в области формирования внешнего вида объекта ответа на запрос к API приложения.
В этой мы пойдём дальше и введём новую бизнес-потребность под названием "нотификации". Их суть в том, чтобы вместе с ответом на запрос добавлять информацию о каких-либо действиях.

В Laravel есть удобные API ресурсы, с которыми легко и приятно работать в области трансформации данных для ответа на запрос. Но что делать когда возникает необходимость изменить их структуру в соответствии с бизнес-потребностями? Разберёмся вместе!

Сегодня, 12 марта 2024, года официально вышла Laravel 11. И все те, кто хочет обновится - добро пожаловать под кат!

Проверка потенциальных контрагентов на благонадёжность — неотъемлемая часть ведения бизнеса. Она нужна, чтобы эффективно управлять рисками, соблюдать должную осмотрительность, исключить репутационные риски и финансовые потери.
Мы создали систему, которая позволила оптимизировать работу по проверке контрагентов из открытых источников. Рассказываем, как она устроена.

В прошлый раз я описал, как можно поставить задачу (Job) в очередь Laravel из хранимой процедуры или триггера PostgreSQL.
В этой статье я расскажу, как можно преобразовать события, возникающие в PostgreSQL, в события Laravel.
Рабочий пример выложен на GitHub.

Chronos for Laravel
Веб-интерфейс для управления командами Laravel в real-time без необходимости лезть в код проекта.

Так получилось, что при создании очередного проекта для своих клиентов возникла необходимость реализовать уведомления пользователей о событиях да еще ко всему прочему запилить корпоративный чат.
Проект делается на Laravel 10 на стартере Breeze Inertia + Vue.js.
Историю как я придумывал саму логику уведомлений я оставлю как-нибудь на потом, а вот о том как я распрощался с Pusher я расскажу сейчас. Вообще Pusher, конечно, сервис хороший, но если брать бесплатные лимиты, то там всё достаточно грустно, поэтому я решил использовать что‑то другое в качестве альтернативы. Выбор пал на Laravel Websockets.
Для справки, Laravel Websockets — это такая надстройка над Laravel, которая на бэке использует Ratchet, но никаких особых настроек делать не нужно, всё работает практически «из коробки». Правда есть несколько подводных камней, о которых я тоже расскажу.

Скоро Тейлор и его команда выпустят новую мажорную версию фреймворка. Расскажу, что на данный момент известно о ней.
Laravel 11 продолжает улучшения, начатые в Laravel 10.x, представляя упрощенную структуры приложения, посекундные ограничения скорости, маршруты проверки здоровья приложения, изящную ротацию ключа шифрования, улучшения тестирования очередей, почтовый транспорт Resend, интеграцию валидатора Prompt, новые команды Artisan и многое другое. Кроме того, был представлен Laravel Reverb — масштабируемый WebSocket-сервер обеспечивающий надежную работу в режиме реального времени.

Вчера я опубликовал перевод статьи на тему оптимизации использования респонсов в Laravel с "простейшими" данными. То есть когда в ответ нужно отдать какое-то число, строку, массив или объект. Но что делать если приложение построено на использовании Json Resource? Или ещё больше - нужно изменить уровень вложенности данных, возвращаемых коллекцией? Давайте разбираться!

Добавить гибкость в управление Laravel респонсов приложения? Легко! Заходите под кат и я покажу Вам свой кейс.

Комплексный обзор множества безопасных функций Laravel, которые могут помочь вам предотвратить болезненные ошибки.
Мы рассмотрим следующие механизмы безопасности:
• Предотвращение N+1
• Защита от частично гидрированных моделей
• Опечатки атрибутов и переименованные столбцы
• Защита от массового присвоения
• Строгость модели
• Принудительное выполнение полиморфного сопоставления
• Мониторинг долгосрочных событий

Всем привет! Краткий обзор новостей из мира PHP и Laravel за январь 2024 года от Сергея Пантелеева и Данила Щуцкого (CutCode).

Привет! Как и в предыдущие три года, в декабре 2023 было запущено исследование русскоязычного PHP-комьюнити. По итогам получился срез данных: на каких версиях PHP сидят в командах, какой фреймворк выбирают для рабочих проектов, а какой для личных, как относятся к ИИ-инструментам для разработки, кого считают человеком года и многие другие аспекты. Опрос помогают составлять и распространять ребята, которые развивают городские и региональные PHP-сообщества, а также руководят каналами и подкастами про PHP.
Посмотрим, каким был 2023 для сообщества, в 1120 мнениях.
Результаты также можно найти на phpcommunity.ru. Вот итоги за 2022, 2021, 2020.

Всем привет! Меня зовут Иван Шишкин и я руковожу разработкой в агентстве Intensa.
В этой статье хотел бы поделиться методом автоматического подключения каналов логирования в Laravel через механизм сервис контейнеров(DI).

Профайлинг приложений важный этап перед релизом ресурсоёмкой фичи. Везде трубят про удобную отладку PHP-приложений при помощи XDebug и PHPStorm, однако напрочь забывают про замеры времени операций, которые, порой, превышают те самые 3 секунды, которые пользователь будет ждать на странице. Если у Вас есть метод API, который долго работает, самое время его проверить профайлером XDebug, а PHPStorm поможет красиво визуализировать и изучить файл профиля.

Краткий обзор новостей из мира PHP и Laravel за декабрь 2023 г от CutCode. Последний дайджест за год

Привет, Habr! Меня зовут Тальгат Хайруллов, я руководитель команды разработки в компании CS-Cart. В статье расскажу, как мы поверх Laravel реализовали фреймворк для быстрой и гибкой разработки API продукта с модульной архитектурой.
Про модульную архитектуру в монолите написано немало информации, этот подход даёт возможность выстроить явные границы кода, уменьшить связанность, позволяет масштабировать разработку. Но что, если вам нужно одновременно иметь чёткую границу и высокую расширяемость? Представьте, что ваша модель данных может быть сформирована набором из нескольких модулей, и всё это должно гармонично взаимодействовать как на уровне бэкенда, так и на уровне публичного API.

Выход Laravel 11 намечен на первый квартал 2024-го года, что может произойти уже в следующем месяце.
Я начинаю новый проект, и поскольку дата выхода очень близка, решил взглянуть на то что изменится в новом крупном обновлении. Помню как пол года назад прочитал в Laravel News статью о том, что Http Kernel уходит в небытие, и не придал этому особого значения.
Когда я создал проект с помощью команды laravel new project --dev, я был очень удивлён тем, насколько уменьшился размер проекта. Было очень удивительно видеть пустую папку config (можно опубликовать файлы конфигурации при помощи команды php artisan config:publish)!
И, конечно же, там нет Http Kernel. Итак... как же добавить или изменить мидлвари? До Laravel 11 ядро Http Kernel, располагающееся по пути app/Http/Kernel.php,было местом хранения всей конфигурации для мидлварей. Также до Laravel 11 не было необходимости трогать руками файл bootstrap/app.php, если только Вы не использовали фреймворк Lumen. Однако в новой версии его нужно...

Приветствую всех поклонников Laravel!
Эта статья-обзор новой, уже третьей версии Livewire. Решил сделать эту статью после выпуска на youtube-канале видео обзора Livewire, который понравился аудитории. Ну и заодно также взглянем на новинку - Volt. Думаю, многие из вас ждали этот обзор и особенно обзор Volt.