Как реализовать простую очередь в 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, чтобы запустить рабочий процесс, прослушивающий указанный транспорт и выполняющий соответствующий обработчик. Можно запускать несколько рабочих процессов параллельно для увеличения пропускной способности.
https://dev.to/daniyaljavani/how-to-implement-a-simple-queue-in-symfony-530a
👉 @php_lib
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, чтобы запустить рабочий процесс, прослушивающий указанный транспорт и выполняющий соответствующий обработчик. Можно запускать несколько рабочих процессов параллельно для увеличения пропускной способности.
https://dev.to/daniyaljavani/how-to-implement-a-simple-queue-in-symfony-530a
👉 @php_lib
👍4
✨ Советы по Laravel ✨
Если вы создаете API в своем проекте:
🪐 Применяйте версионирование в самом первом релизе
🪐 Поддерживайте чистоту в routes/api.php, создавая разные файлы маршрутов для каждой версии👇
🧹 Более чистый код, 📈 Лучшие результаты
👉 @php_lib
Если вы создаете API в своем проекте:
🪐 Применяйте версионирование в самом первом релизе
🪐 Поддерживайте чистоту в routes/api.php, создавая разные файлы маршрутов для каждой версии👇
🧹 Более чистый код, 📈 Лучшие результаты
👉 @php_lib
👍10
Совет по PHP/Laravel 💡
Вместо того чтобы выполнять цикл `
👉 @php_lib
Вместо того чтобы выполнять цикл `
foreach` по массиву для поиска значения записи, вы можете использовать метод Laravel Collection `contains()`.👉 @php_lib
👍6
Введение в Terminable Middleware
Создание и взаимодействие с middleware - обычная задача для разработчиков Laravel. Вы, вероятно, знакомы с middleware "до" и "после". Middleware "до" может использоваться для аутентификации пользователей, установки языка приложения или ограничения ответов в зависимости от запроса. After middleware может использоваться для добавления cookies или обновления заголовков ответа. В этом посте мы рассмотрим удобный, но менее используемый тип middleware: Terminable middleware.
https://tighten.com/insights/intro-to-terminable-middleware/
👉 @php_lib
Создание и взаимодействие с middleware - обычная задача для разработчиков Laravel. Вы, вероятно, знакомы с middleware "до" и "после". Middleware "до" может использоваться для аутентификации пользователей, установки языка приложения или ограничения ответов в зависимости от запроса. After middleware может использоваться для добавления cookies или обновления заголовков ответа. В этом посте мы рассмотрим удобный, но менее используемый тип middleware: Terminable middleware.
https://tighten.com/insights/intro-to-terminable-middleware/
👉 @php_lib
👍4
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Полный курс PHP для начинающих и продвинутых
Full PHP 8 Tutorial
How To Install PHP & What Are Web Servers
Basic PHP Syntax
What Are Constants & Variable Variables In PHP
PHP Data Types - Typecasting Overview & How It Works
PHP Boolean Data Type
PHP Integer Data type
PHP Float Data Type
PHP String Data Type - Heredoc & Nowdoc Syntax
PHP Null Data Type
На данный момент доступно 139 видео
👉 @php_lib
Full PHP 8 Tutorial
How To Install PHP & What Are Web Servers
Basic PHP Syntax
What Are Constants & Variable Variables In PHP
PHP Data Types - Typecasting Overview & How It Works
PHP Boolean Data Type
PHP Integer Data type
PHP Float Data Type
PHP String Data Type - Heredoc & Nowdoc Syntax
PHP Null Data Type
На данный момент доступно 139 видео
👉 @php_lib
👍6
Genealogy
Бесплатное приложение с открытым исходным кодом (семейное дерево) для записи членов семьи и их взаимоотношений, созданное на PHP (Laravel 10).
https://github.com/MGeurts/genealogy
👉 @php_lib
Бесплатное приложение с открытым исходным кодом (семейное дерево) для записи членов семьи и их взаимоотношений, созданное на PHP (Laravel 10).
https://github.com/MGeurts/genealogy
👉 @php_lib
👍5🤮2
This media is not supported in your browser
VIEW IN TELEGRAM
Совет по Laravel 💡
Один из моих любимых недокументированных советов, который я регулярно использую. Используйте "
👉 @php_lib
Один из моих любимых недокументированных советов, который я регулярно использую. Используйте "
wasRecentlyCreated", чтобы проверить, была ли модель создана или найдена в базе данных.👉 @php_lib
🔥5👍2
🛠️Использование Laravel Tinker в Chrome DevTools
Статья о том, как интегрировать Laravel Tinker с Chrome DevTools для более удобной отладки и тестирования кода прямо в браузере.
Это позволяет быстрее проверять и экспериментировать с кодом Laravel, используя привычные инструменты Chrome.
https://www.amitmerchant.com/laravel-tinker-chrome-devtools/
👉 @php_lib
Статья о том, как интегрировать Laravel Tinker с Chrome DevTools для более удобной отладки и тестирования кода прямо в браузере.
Это позволяет быстрее проверять и экспериментировать с кодом Laravel, используя привычные инструменты Chrome.
https://www.amitmerchant.com/laravel-tinker-chrome-devtools/
👉 @php_lib
👍5
Кэширование аутентифицированных пользователей в Laravel
Для ещё более высокой производительности в Laravel-приложениях с большим трафиком можно кэшировать аутентифицированных пользователей, чтобы избежать обращения к базе данных.
В этой статье я покажу, как это сделать — но это не быстрое исправление: нам нужно будет учесть, что происходит, когда пользователь обновляется или удаляется.
https://codecourse.com/articles/caching-authenticated-users-in-laravel
👉 @php_lib
Для ещё более высокой производительности в Laravel-приложениях с большим трафиком можно кэшировать аутентифицированных пользователей, чтобы избежать обращения к базе данных.
В этой статье я покажу, как это сделать — но это не быстрое исправление: нам нужно будет учесть, что происходит, когда пользователь обновляется или удаляется.
https://codecourse.com/articles/caching-authenticated-users-in-laravel
👉 @php_lib
👍2