Планирование задач с помощью Symfony Scheduler
На SymfonyLive Paris 2023 был представлен Scheduler в Symfony, предназначенный для управления периодическими задачами, и стал стабильным с выпуском Symfony 6.4. Он заменяет crontab и интегрируется непосредственно в приложение.
Объясняется установка компонента через Composer и его основные функции, включая создание задач, управление расписанием, обработку коллизий и ошибок, а также использование консольных команд в качестве задач Scheduler. Рассматриваются возможности настройки расписания, управления коллизиями, множественными воркерами и отладкой расписаний.
Также обсуждаются инструменты для обработки ошибок и использование консольных команд в качестве задач Scheduler.
На SymfonyLive Paris 2023 был представлен Scheduler в Symfony, предназначенный для управления периодическими задачами, и стал стабильным с выпуском Symfony 6.4. Он заменяет crontab и интегрируется непосредственно в приложение.
Объясняется установка компонента через Composer и его основные функции, включая создание задач, управление расписанием, обработку коллизий и ошибок, а также использование консольных команд в качестве задач Scheduler. Рассматриваются возможности настройки расписания, управления коллизиями, множественными воркерами и отладкой расписаний.
Также обсуждаются инструменты для обработки ошибок и использование консольных команд в качестве задач Scheduler.
JoliCode
Master task scheduling with Symfony Scheduler
Introduction Nowadays, using a crontab for our recurring tasks is quite common, but not very practical because it's completely disconnected from our application. The Scheduler component is an
Статистика версий PHP: январь 2024 г.
Регулярный обзор используемых версий PHP на основе данных, которые клиенты отправляют на packagist.org (например, когда они запускают composer update команду).
Основные моменты, охваченные в статистике, включают:
Статистика использования: В статье представлено сравнение использования версий PHP за разные периоды времени, подчеркивая постепенное снижение старых версий PHP (например, PHP 7.1) и увеличение принятия более новых версий (например, PHP 8.3).
Эволюция использования версий: Визуальные представления, такие как диаграммы, иллюстрируют тенденции в использовании версий PHP со временем, демонстрируя ускоренное принятие более новых версий PHP, таких как PHP 8.3, по сравнению с их предшественниками.
Требуемые версии: В статье анализируется минимально требуемые версии PHP для топ-1000 пакетов композитора, показывая, как выборы сделанные сами авторами пакетов влияют на требования к версиям PHP для проектов, использующих эти пакеты.
Регулярный обзор используемых версий PHP на основе данных, которые клиенты отправляют на packagist.org (например, когда они запускают composer update команду).
Основные моменты, охваченные в статистике, включают:
Статистика использования: В статье представлено сравнение использования версий PHP за разные периоды времени, подчеркивая постепенное снижение старых версий PHP (например, PHP 7.1) и увеличение принятия более новых версий (например, PHP 8.3).
Эволюция использования версий: Визуальные представления, такие как диаграммы, иллюстрируют тенденции в использовании версий PHP со временем, демонстрируя ускоренное принятие более новых версий PHP, таких как PHP 8.3, по сравнению с их предшественниками.
Требуемые версии: В статье анализируется минимально требуемые версии PHP для топ-1000 пакетов композитора, показывая, как выборы сделанные сами авторами пакетов влияют на требования к версиям PHP для проектов, использующих эти пакеты.
Как защититься от «бестелесных» веб-шеллов
https://habr.com/ru/companies/cyberok/articles/787320/
https://habr.com/ru/companies/cyberok/articles/787320/
Хабр
Как защититься от «бестелесных» веб-шеллов
Введение В сегодняшней статье эксперты Сайбер ОК проведут вас за руку по лабиринту хакерских уловок и на пальцах объяснят, что такое "бестелесные" веб-шеллы и как с ними бороться. Сегодня мы наблюдаем...
SussyFinder
Карманный PHP-сканер вредоносных программ//бэкдоров, отлично подходящий для реальной борьбы
https://github.com/Cvar1984/sussyfinder
#cybersecurity #pentesting #redteam
Карманный PHP-сканер вредоносных программ//бэкдоров, отлично подходящий для реальной борьбы
https://github.com/Cvar1984/sussyfinder
#cybersecurity #pentesting #redteam
🔥 Дайджест полезных материалов из мира PHP за неделю
Почитать:
— Отладка отправки почты на окружении BitrixEnv 7.5.5 с помощью MailCatcher
— Еще один кейс на PHP. Скачиваем базу данных из открытого API
— Про Vim — Neovim (Lua) PHP IDE
— PHP и Laravel дайджест новостей за январь 2024 года
— Laravel 10 + NGINX + PHP-FPM - my ready to use all in one recipe for your Laravel 10 deployment in Docker
— PHP 8 News: Named Arguments
— Laravel: A Comprehensive Guide to Service Container and Providers
— How to test the die() function?
— Understanding $this, self, parent, and static keywords in PHP and Laravel
— 🕵 What You Didn't Know About AI Integration for Laravel Applications
— Learning Path For Web Development
— Creating GraphQL APIs with Laravel
— How to start with Laravel & REST APIs in it, I'm new to it?
— Building a PHP SDK for Replicate AI
Посмотреть:
🌐 Как выстраивать коммуникацию с заказчиком. Около кода (⏱ 03:50)
🌐 Создание интернет-магазина на WooCommerce с нуля. 20. Страница товара-3. Lightbox для галереи (⏱ 27:48)
Хорошего дня!
Почитать:
— Отладка отправки почты на окружении BitrixEnv 7.5.5 с помощью MailCatcher
— Еще один кейс на PHP. Скачиваем базу данных из открытого API
— Про Vim — Neovim (Lua) PHP IDE
— PHP и Laravel дайджест новостей за январь 2024 года
— Laravel 10 + NGINX + PHP-FPM - my ready to use all in one recipe for your Laravel 10 deployment in Docker
— PHP 8 News: Named Arguments
— Laravel: A Comprehensive Guide to Service Container and Providers
— How to test the die() function?
— Understanding $this, self, parent, and static keywords in PHP and Laravel
— 🕵 What You Didn't Know About AI Integration for Laravel Applications
— Learning Path For Web Development
— Creating GraphQL APIs with Laravel
— How to start with Laravel & REST APIs in it, I'm new to it?
— Building a PHP SDK for Replicate AI
Посмотреть:
🌐 Как выстраивать коммуникацию с заказчиком. Около кода (⏱ 03:50)
🌐 Создание интернет-магазина на WooCommerce с нуля. 20. Страница товара-3. Lightbox для галереи (⏱ 27:48)
Хорошего дня!
Как ошибки проектирования при разработке на Symfony могут привести к перерасходу ресурсов и замедлению работы системы
https://habr.com/ru/articles/794805/
https://habr.com/ru/articles/794805/
Хабр
Как ошибки проектирования при разработке на Symfony могут привести к перерасходу ресурсов и замедлению работы системы
Сегодня хочу рассказать о том, какие ошибки можно допустить на начальном этапе создания e-commerce проекта в проектировании модели данных и в разработке веб-приложения. И, самое главное, как эти...
Как я писал свою библиотеку для работы с Telegram
https://habr.com/ru/companies/kokocgroup/articles/794700/
https://habr.com/ru/companies/kokocgroup/articles/794700/
Хабр
Как я писал свою библиотеку для работы с Telegram
В тот далекий 2019 год, когда про ковид никто не слышал и другой жести ещё не было на горизонте, я читал очередную статью как «правильно» писать очередного бота для Telegram... И в очередной раз у...
Модификация JSON респонсов в Laravel
https://habr.com/ru/articles/794388/
https://habr.com/ru/articles/794388/
Хабр
Модификация JSON респонсов в Laravel
Вчера я опубликовал перевод статьи на тему оптимизации использования респонсов в Laravel с "простейшими" данными. То есть когда в ответ нужно отдать какое-то число, строку, массив или объект. Но что...
Совет по PHP/Laravel 💡
Вместо того чтобы выполнять цикл `
@phpshka
Вместо того чтобы выполнять цикл `
foreach
` по массиву для поиска значения записи, вы можете использовать метод Laravel Collection `contains()`
.@phpshka
Гудбай Pusher, привет Laravel Websockets
https://habr.com/ru/articles/795919/
https://habr.com/ru/articles/795919/
Хабр
Гудбай Pusher, привет Laravel Websockets
Так получилось, что при создании очередного проекта для своих клиентов возникла необходимость реализовать уведомления пользователей о событиях да еще ко всему прочему запилить корпоративный чат....
Как мы приготовили массу блюд c помощью одного ингредиента: GraphQL
https://habr.com/ru/companies/nlmk/articles/780328/
https://habr.com/ru/companies/nlmk/articles/780328/
Хабр
Как мы приготовили массу блюд c помощью одного ингредиента: GraphQL
Всем привет! Не говорите, что вам нечего приготовить, если у вас дома одна картошка. При смекалке и достаточном количестве специй — пюре, драники, запеканка, чипсы фри... Конечно, мы обсуждаем не...
Один часто задаваемых вопросов по Docker 🐳
Как настроить
👉 Подробное объяснение здесь:
youtu.be/njcUv0e8egM
#php #docker
Как настроить
Docker + PHP + Nginx
👉 Подробное объяснение здесь:
youtu.be/njcUv0e8egM
#php #docker
Подмена функций стандартной библиотеки PHP с помощью xepozz/internal-mocker
https://habr.com/ru/articles/797343/
https://habr.com/ru/articles/797343/
Хабр
Подмена функций стандартной библиотеки PHP с помощью xepozz/internal-mocker
Цель Подмена (mock) функций, которые уже “загружены” в PHP еще до подгрузки Composer Autoloader, каких-либо include или других объвлений function name() {} Подмена не только из под не пустого...
Tempest – PHP MVC микро-фреймворк, который не мешает вам работать
Его основная философия заключается в том, что разработчики должны писать как можно меньше кода, связанного с фреймворком, чтобы было время сосредоточиться на коде самого приложения. Вы можете установить Tempest двумя способами: как веб-приложение с базовым функционалом, или в качестве пакета в любом проекте, который вы захотите.
Стоимость: #бесплатно
#утилита #php
Его основная философия заключается в том, что разработчики должны писать как можно меньше кода, связанного с фреймворком, чтобы было время сосредоточиться на коде самого приложения. Вы можете установить Tempest двумя способами: как веб-приложение с базовым функционалом, или в качестве пакета в любом проекте, который вы захотите.
Стоимость: #бесплатно
#утилита #php
Превращение событий PostgreSQL в события Laravel
https://habr.com/ru/articles/798203/
https://habr.com/ru/articles/798203/
Хабр
Превращение событий PostgreSQL в события Laravel
Краткая аннотация В прошлый раз я описал, как можно поставить задачу (Job) в очередь Laravel из хранимой процедуры или триггера PostgreSQL. В этой статье я расскажу, как можно преобразовать события,...
Joomla на FOSDEM 2024: запуск Альянса открытых веб-сайтов
https://habr.com/ru/articles/798295/
https://habr.com/ru/articles/798295/
Хабр
Joomla на FOSDEM 2024: запуск Альянса открытых веб-сайтов
Joomla на FOSDEM 2024 FOSDEM 2024 - масштабная конференция разработчиков ПО с открытым исходным кодом, насчитывающая тысячи участников и более шестидесяти конференц-залов. Президент Joomla Crystal...
Раскройте возможности генераторов PHP
Новичкам в PHP приходится работать с большими наборами данных или массивами. Типичная проблема — страшная ошибка нехватки памяти:
▪Читать
Новичкам в PHP приходится работать с большими наборами данных или массивами. Типичная проблема — страшная ошибка нехватки памяти:
Fatal error: Allowed memory size of xxxxxx bytes exhausted (tried to allocate xxxxx bytes) in your_script.php on line xx
Здесь PHP-скриптом превышен лимит памяти. Чтобы устранить эту ошибку, в PHP 5.5 представили отличное решение — генераторы. Они позволяют перебирать наборы данных, не загружая все в память. Это эффектно и эффективно.▪Читать