PHP-BE1
311 subscribers
338 photos
11 videos
19 files
620 links
Канал по PHP, полезный и интересный контент для всех уровней.
По вопросам сотрудничества @cyberJohnny
Download Telegram
Три сотни советов по Laravel
Девять месяцев OussamaMater собирал разные секретики по фреймворку и теперь они доступны в формате репозитория
https://github.com/OussamaMater/Laravel-Tips
@php_be1
Как измерить производительность в приложениях Laravel

В данной статье предлагают практические стратегии для оптимизации работы приложений на Laravel. В ней рассматриваются типичные проблемы, такие как N+1 запросы, отсутствие индексов в базе данных и неэффективное использование ресурсов в API. Автор объясняет, как выявлять и исправлять эти проблемы с помощью инструментов, таких как eager loading, использование метода `whenLoaded` в ресурсах и правильная индексация. В статье подчеркивается важность управления запросами к базе данных и приводятся примеры для облегчения применения этих методов на практике.

https://martinjoo.dev/how-to-measure-performance-in-laravel-apps

👉 [|@php_be1]
Тейлор о новых стартовых наборах

В ближайшие недели мы планируем начать разработку новых стартовых наборов для Laravel.

Мне кажется, что эти наборы не должны быть пакетами. Вместо этого они могут быть простыми репозиториями на GitHub, которые легко склонировать. Весь код будет сразу находиться в вашем приложении — никаких команд для установки или копирования файлов. Просто клонируете репозиторий и начинаете работу. 🔨

Например, "laravel/simple-starter-kit" и "laravel/saas-starter-kit". В будущем, возможно, появятся "laravel/api-starter-kit" или "laravel/ai-starter-kit". Такой подход позволит легко понять, что входит в набор, а также упростит прием вклада от сообщества. 👍

Простой стартовый набор, по сути, будет аналогом Laravel Breeze: базовая регистрация, аутентификация, восстановление пароля и управление профилем.

SaaS-стартер-кит будет включать всё это, а также функционал для работы с командами, интеграцию Stripe Checkout через Cashier и другие полезные функции. 💰

Оба набора будут полностью бесплатными и с открытым исходным кодом. Мы планируем поддерживать варианты на основе Livewire и Inertia 2.0. Tailwind 4.

Как вам такая идея?

https://x.com/taylorotwell/status/1862911447375786451
@php_be1
А что мы всё про Ларавель, да Тейлора. Тут можно подписаться на канал с моими рисунками 😛
https://t.me/demiart_news
https://t.me/demiart_news
https://t.me/demiart_news
@php_be1
Laravel Clockwork: Подробный обзор отладки, профилирования и лучших практик

Автор подробно рассматривает инструмент для отладки и профилирования Laravel Clockwork. Она объясняет, как установить и настроить Clockwork, а также как интегрировать его с расширением для Chrome для анализа запросов и их производительности. Описываются различные вкладки в Clockwork, такие как запросы, база данных, логи, сессии и маршруты. В статье также проводится сравнение с другими инструментами, такими как Laravel Telescope и Laravel Debugbar. Это руководство поможет улучшить производительность и устранить узкие места в приложениях Laravel.

https://qirolab.com/posts/laravel-clockwork-a-deep-dive-into-debugging-profiling-skills-and-best-practices-1705314512

👉 [|@php_be1]
https://qirolab.com/posts/laravel-clockwork-a-deep-dive-into-debugging-profiling-skills-and-best-practices-1705314512
Минорные обновления Laravel ломают Eloquent-запросы
https://howtotrainyourrobot.com/laravel-update-breaks-eloquent-queries/
@php_be1
Совет по Laravel 💡

Данные загружаются быстрее, если целевое значение является целым числом.

Используйте 𝘄𝗵𝗲𝗿𝗲𝗜𝗻𝘁𝗲𝗴𝗲𝗿𝗜𝗻𝗥𝗮𝘄() вместо метода 𝘄𝗵𝗲𝗿𝗲𝗜𝗻(), чтобы быстрее загружать данные, когда целевое значение является целым числом.

👉 [|@php_be1]
Релизы PHP 8.4.2, 8.3.15 и 8.2.27
https://www.php.net/ChangeLog-8.php
@php_be1
🔥 Большой ежегодный опрос по PHP!

Прими участие и помоги комьюнити! 🔥
Русскоязычное PHP-комьюнити снова в деле — запускаем ежегодный опрос, чтобы понять, на чем мы пишем, чем живем и куда движемся! 🚀
CutCode подготовил для вас этот опрос, чтобы собрать самые актуальные данные и вместе взглянуть на развитие PHP в 2024 году.
В прошлом году 1120 разработчиков рассказали, на каких версиях PHP сидят, какие фреймворки любят и как относятся к ИИ.
📊 В этом году все мы постарались сделать еще интереснее! Вопросы про развитие, новые технологии и даже пару неожиданных тем. Кто знает, может именно ты подскажешь путь для всего комьюнити?
А вдруг... получишь слона? 🐘
Опрос анонимный. Но кто оставит свой email могут поучаствовать в розыгрыше слона. А шанс повлиять на сообщество есть у каждого!
👉 Пройди опрос и помоги собрать срез по русскоязычной PHP-тусовке:

Опрос (https://docs.google.com/forms/d/e/1FAIpQLSdHxQ8jPapOz6YDsGViqc1x6agJuzx2RxIjskxNcdiPM82_tA/viewform)

По итогам сделаем подборки статей, докладов, каналов по PHP. Все результаты опубликуем на phpcommunity.ru и в статье на Хабре.

#php #cutcode
@php_be1
Как создать простую очередь в Symfony

Symfony — это популярный фреймворк для PHP, который предлагает множество функций и компонентов для разработки веб-приложений. Один из таких компонентов — это Messenger, который позволяет отправлять и получать сообщения между различными частями приложения или между разными приложениями. В этой статье мы рассмотрим, как использовать компонент Messenger для создания простой системы очередей, используя Redis в качестве транспортного уровня.

1⃣ Установка необходимых пакетов: Используйте Composer для установки компонента Symfony Messenger и адаптера Redis.

2⃣ Настройка транспорта: Настройте подключение к серверу Redis в файле .env, указав адрес сервера и желаемое имя очереди.

3⃣ Создание сообщения и обработчика: Используйте команды Symfony console для создания классов сообщения и соответствующего обработчика. Эти классы представляют данные для отправки и логику, которая будет выполнена при получении сообщения.

4⃣ Маршрутизация сообщения к транспорту: Настройте компонент Messenger для связывания класса сообщения с нужным транспортом в файле messenger.yaml.

5⃣ Отправка сообщения: Используйте службу MessageBusInterface для отправки сообщений из разных частей приложения, например, из контроллеров или служб.

6⃣ Получение сообщения: Используйте команду messenger:consume, чтобы запустить рабочий процесс, который будет прослушивать указанный транспорт и выполнять соответствующий обработчик. Можно запускать несколько рабочих процессов одновременно для увеличения пропускной способности.

👉 [|@php_be1]