🚀 Как ускорить массовую отправку HTTP-запросов в PHP
🔍 Постановка задачи:
Есть скрипт на PHP, который должен отправлять множество HTTP-запросов. Нужно сделать это как можно быстрее. Очевидное решение — параллельная отправка.
🔧 Шаг 1: последовательная обработка
Простой цикл с
⚙️ Шаг 2: повторное использование curl-хэндла
Инициализируем
⚡ Шаг 3: параллельная отправка с curl_multi_
Используем
📦 Шаг 4: отправка батчами (batching)
Если запросов сотни или тысячи, одновременно всё не потянет даже мощный сервер. Решение — отправка пакетами, например по 3. Это позволяет контролировать нагрузку. В нашем примере — ~0.8 секунды на 10 запросов.
🔗 Читать статью
Библиотека пхпшника #буст
🔍 Постановка задачи:
Есть скрипт на PHP, который должен отправлять множество HTTP-запросов. Нужно сделать это как можно быстрее. Очевидное решение — параллельная отправка.
🔧 Шаг 1: последовательная обработка
Простой цикл с
curl_init() и curl_exec() на каждый URL. Результат: 10 запросов выполняются за ~4.4 секунды.⚙️ Шаг 2: повторное использование curl-хэндла
Инициализируем
curl один раз и переиспользуем. Время выполнения снижается до ~1.7 секунды.⚡ Шаг 3: параллельная отправка с curl_multi_
Используем
curl_multi_init() и запускаем запросы одновременно. Итог: всего 0.5 секунды на 10 запросов. Почти в 9 раз быстрее, чем изначально.📦 Шаг 4: отправка батчами (batching)
Если запросов сотни или тысячи, одновременно всё не потянет даже мощный сервер. Решение — отправка пакетами, например по 3. Это позволяет контролировать нагрузку. В нашем примере — ~0.8 секунды на 10 запросов.
🔗 Читать статью
Библиотека пхпшника #буст
🔥6❤2🥱2
CRUD на PHP с использованием файберов и пула соединений с PostgreSQL
В новой статье на Хабре автор делится опытом создания прототипа CRUD-приложения, использующего файберы и пул соединений с PostgreSQL. Результаты впечатляют: один процесс PHP CLI обрабатывает 10 параллельных запросов за 2 секунды, благодаря асинхронной обработке и неблокирующему вводу-выводу.
🔍 Ключевые моменты:
Файберы позволяют обрабатывать несколько запросов в одном процессе, улучшая производительность.
Неблокирующий драйвер PostgreSQL обеспечивает асинхронное взаимодействие с базой данных.
Сравнение с сервером на базе PHP-FPM показало значительное преимущество в
производительности при использовании файлов.
💡 Для кого это будет полезно:
🔸 Разработчикам, стремящимся повысить производительность своих приложений.
🔸 Тем, кто интересуется асинхронным программированием в PHP.
🔸 Специалистам, работающим с PostgreSQL и желающим оптимизировать взаимодействие с базой данных.
🔗 Хабр
В новой статье на Хабре автор делится опытом создания прототипа CRUD-приложения, использующего файберы и пул соединений с PostgreSQL. Результаты впечатляют: один процесс PHP CLI обрабатывает 10 параллельных запросов за 2 секунды, благодаря асинхронной обработке и неблокирующему вводу-выводу.
🔍 Ключевые моменты:
Файберы позволяют обрабатывать несколько запросов в одном процессе, улучшая производительность.
Неблокирующий драйвер PostgreSQL обеспечивает асинхронное взаимодействие с базой данных.
Сравнение с сервером на базе PHP-FPM показало значительное преимущество в
производительности при использовании файлов.
💡 Для кого это будет полезно:
🔸 Разработчикам, стремящимся повысить производительность своих приложений.
🔸 Тем, кто интересуется асинхронным программированием в PHP.
🔸 Специалистам, работающим с PostgreSQL и желающим оптимизировать взаимодействие с базой данных.
🔗 Хабр
1🥱2
Мы знаем, что большинство из вас — крутые сеньоры😎 Но также здесь есть новички, которым могут пригодиться горячие клавиши в PhpStorm. Вот подборка наиболее полезных сочетаний для навигации и поиска:
🔹 Двойное нажатие Shift: открывает окно Search Everywhere для быстрого поиска файлов, классов или действий по всему проекту.
🔹 Ctrl + N: переход к классу по имени.
🔹 Ctrl + Shift + N: поиск и открытие файла по названию.
🔹 Ctrl + Alt + Shift + N: быстрый поиск и переход к символу (классу, методу, переменной, константе).
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱4👍2
How to: создание MCP-сервера с помощью Symfony
Model Context Protocol (MCP) открывает новые горизонты для интеграции ИИ с внешним миром. Если вы работаете с большими языковыми моделями (LLM), вы наверняка столкнулись с их ограничениями — они не могут напрямую взаимодействовать с внешними сервисами или базами данных. Но с помощью MCP это становится возможным!
MCP позволяет разработчикам добавлять внешние инструменты к LLM, расширяя их возможности и улучшая взаимодействие с пользователем. В этой статье мы расскажем, как с помощью Symfony создать сервер MCP и начать разрабатывать инструменты, которые будут интегрировать вашу модель с реальным миром.
🔗 Читать статью
Библиотека пхпшника #буст
Model Context Protocol (MCP) открывает новые горизонты для интеграции ИИ с внешним миром. Если вы работаете с большими языковыми моделями (LLM), вы наверняка столкнулись с их ограничениями — они не могут напрямую взаимодействовать с внешними сервисами или базами данных. Но с помощью MCP это становится возможным!
MCP позволяет разработчикам добавлять внешние инструменты к LLM, расширяя их возможности и улучшая взаимодействие с пользователем. В этой статье мы расскажем, как с помощью Symfony создать сервер MCP и начать разрабатывать инструменты, которые будут интегрировать вашу модель с реальным миром.
🔗 Читать статью
Библиотека пхпшника #буст
❤1
💬Знаете ли вы, что вы можете использовать
Библиотека пхпшника
#vardump
scan в Laravel для разбора строки, введенной в коллекцию, в соответствии с форматом, поддерживаемым встроенной функцией PHP «sscanf»? 🚀Библиотека пхпшника
#vardump
👍9🌚2❤1
Собираем фулл-хаус: 3 курса по цене 1
Хватит выбирать между «полезно», «модно» и «для души». Мы запустили механику, которая позволяет собрать кастомный стек навыков без удара по бюджету: покупаете один курс — два других забираете бесплатно.
Современный PHP — это строгая типизация и паттерны. Прокачайте архитектуру и шаблоны проектирования, чтобы писать код уровня Symfony/Laravel. Для роста технического кругозора — алгоритмы и структуры данных.
Если хотите расширить стек (или уйти в ML) — полный набор по AI: от математики и ML-старта до разработки автономных агентов.
В качестве альтернативного бэкенд-языка — обновлённый Python.
Собрать свой пак
Хватит выбирать между «полезно», «модно» и «для души». Мы запустили механику, которая позволяет собрать кастомный стек навыков без удара по бюджету: покупаете один курс — два других забираете бесплатно.
Современный PHP — это строгая типизация и паттерны. Прокачайте архитектуру и шаблоны проектирования, чтобы писать код уровня Symfony/Laravel. Для роста технического кругозора — алгоритмы и структуры данных.
Если хотите расширить стек (или уйти в ML) — полный набор по AI: от математики и ML-старта до разработки автономных агентов.
В качестве альтернативного бэкенд-языка — обновлённый Python.
Собрать свой пак
❤4
💡 Форматирование процентов
Знаете ли вы, что Laravel поставляется с помощником percentage, позволяющим получить процентное отношение к любому показателю? 🚀
Библиотека пхпшника
#vardump
Знаете ли вы, что Laravel поставляется с помощником percentage, позволяющим получить процентное отношение к любому показателю? 🚀
Библиотека пхпшника
#vardump
❤3🥱3
📚 Читаете ли вы техническую литературу, чтобы прокачать свои навыки?
❤️ — да, постоянно читаю
👍 — иногда читаю
👾 — почти не обращаюсь к книгам, получаю знания из других источников
👇 Посоветуйте в комментариях книги, которые показались вам наиболее полезными
#интерактив
❤️ — да, постоянно читаю
👍 — иногда читаю
👾 — почти не обращаюсь к книгам, получаю знания из других источников
👇 Посоветуйте в комментариях книги, которые показались вам наиболее полезными
#интерактив
👍29👾25❤23
Автотесты | Как мокировать классы с помощью PHPUnit
Моки — это, по сути, клоны ваших классов. Они переопределяют ваш класс, сохраняя тот же тип и тип возврата, что и исходный класс. Убедиться в правильности возвращаемого типа в процессе создания мока очень важно, в противном случае будут возникать ошибки.
👉Читать статью
Библиотека пхпшника
Моки — это, по сути, клоны ваших классов. Они переопределяют ваш класс, сохраняя тот же тип и тип возврата, что и исходный класс. Убедиться в правильности возвращаемого типа в процессе создания мока очень важно, в противном случае будут возникать ошибки.
👉Читать статью
Библиотека пхпшника
Ищем человека в команду, который будет вести наши каналы по PHP. Нам нужен не душный сеньор-помидор, а тот, кто реально любит язык, следит за ним и может интересно рассказать об этом другим.
ЧТО ПО ЗАДАЧАМ?
Всё просто — ты ведёшь три канала (основной, задачи и собесы):
КОГО ИЩЕМ?
УСЛОВИЯ:
Харэ сачковать — заполняй анкету
Please open Telegram to view this post
VIEW IN TELEGRAM
🌊 Wave — стартер-пак для разработки SaaS-приложений
Библиотека написана на Laravel и включает все необходимое:
— аутентификация,
— профили пользователей,
— биллинг,
— подписка,
— роли и права доступа,
— уведомления и административная панель.
Инструмент упрощает создание SaaS-приложений, предоставляя необходимые базовые компоненты и гибкие возможности для дальнейшей настройки.
💻 GitHub
Библиотека пхпшника
#инструменты
Библиотека написана на Laravel и включает все необходимое:
— аутентификация,
— профили пользователей,
— биллинг,
— подписка,
— роли и права доступа,
— уведомления и административная панель.
Инструмент упрощает создание SaaS-приложений, предоставляя необходимые базовые компоненты и гибкие возможности для дальнейшей настройки.
💻 GitHub
Библиотека пхпшника
#инструменты
❤3
Что умеет Rector: пишем кастомные правила для автоматизации рефакторинга PHP-проектов
Если вам часто приходится сталкиваться с рефакторингом старых PHP-проектов, при этом их потребности выходят за пределы штатного набора правил, эта статья для вас.
🔗 Хабр
Библиотека пхпшника
Если вам часто приходится сталкиваться с рефакторингом старых PHP-проектов, при этом их потребности выходят за пределы штатного набора правил, эта статья для вас.
🔗 Хабр
Библиотека пхпшника
🤔1
🔧 CLI-лайфхак для PHP-разработчиков: Быстрое выполнение одноразовых команд с помощью опции -r 🚀
Полезная команда, которая позволяет выполнять небольшие фрагменты PHP-кода прямо из командной строки без создания отдельных файлов. Это особенно удобно для быстрого тестирования идей или выполнения одноразовых задач 🖥️
Как это сделать?
1. Откройте терминал на вашем компьютере.
2 Введите следующую команду, заменив код внутри одинарных кавычек на нужный вам PHP-код:
Почему это удобно?
🔸 Быстрота: нет необходимости создавать отдельный файл для выполнения небольшого фрагмента кода.
🔸 Удобство: идеальный способ для тестирования небольших функций или выражений.
🔸 Гибкость: позволяет комбинировать PHP с другими командными инструментами для автоматизации задач.
Обратите внимание:
Экранирование кавычек: при использовании одинарных кавычек внутри PHP-кода их необходимо экранировать обратным слэшем (\'), чтобы избежать конфликтов с внешними кавычками.
Библиотека пхпшника #буст
Полезная команда, которая позволяет выполнять небольшие фрагменты PHP-кода прямо из командной строки без создания отдельных файлов. Это особенно удобно для быстрого тестирования идей или выполнения одноразовых задач 🖥️
Как это сделать?
1. Откройте терминал на вашем компьютере.
2 Введите следующую команду, заменив код внутри одинарных кавычек на нужный вам PHP-код:
php -r 'echo «Привет, мир!\n»;'
Почему это удобно?
🔸 Быстрота: нет необходимости создавать отдельный файл для выполнения небольшого фрагмента кода.
🔸 Удобство: идеальный способ для тестирования небольших функций или выражений.
🔸 Гибкость: позволяет комбинировать PHP с другими командными инструментами для автоматизации задач.
Обратите внимание:
Экранирование кавычек: при использовании одинарных кавычек внутри PHP-кода их необходимо экранировать обратным слэшем (\'), чтобы избежать конфликтов с внешними кавычками.
php -r 'echo \'Это строка с одинарными кавычками.\' . «\n»;'
Библиотека пхпшника #буст
🥱4👍3🌚2
👨💻Вы работаете с PHP и хотите строить REST API по архитектурным правилам? Современные backend-приложения требуют чистой структуры, понятной логики и безопасности по умолчанию.
📆25 февраля в 20:00 МСК разберём полный цикл создания API: от старта проекта и маршрутизации до API Resources, валидации и аутентификации через Sanctum.
Вы увидите, как проектировать REST API так, чтобы он был масштабируемым и поддерживаемым, а не набором хаотичных контроллеров. Вы получите структуру, которую можно применять в реальных проектах.
⚡️Зарегистрируйтесь на открытый урок в рамках курса «Framework Laravel» и прокачайте свои навыки:
https://clc.to/YmbfTw
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
📆25 февраля в 20:00 МСК разберём полный цикл создания API: от старта проекта и маршрутизации до API Resources, валидации и аутентификации через Sanctum.
Вы увидите, как проектировать REST API так, чтобы он был масштабируемым и поддерживаемым, а не набором хаотичных контроллеров. Вы получите структуру, которую можно применять в реальных проектах.
⚡️Зарегистрируйтесь на открытый урок в рамках курса «Framework Laravel» и прокачайте свои навыки:
https://clc.to/YmbfTw
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Добавь мозги в свой проект: курс по AI-агентам
PHP отлично справляется с вебом, но для AI-фич нужна правильная архитектура. Мы обновили курс «Разработка AI-агентов», чтобы вы могли внедрять умные функции в реальные проекты, а не просто играться с API.
Прагматичный подход:
🔹 Инжиниринг. Как управлять токенами, кэшем и не разориться на API.
🔹 Advanced RAG. Умный поиск по вашим базам данных и документам (даже если они «грязные»).
🔹 Legacy. Модуль по управлению старыми интерфейсами через браузер (актуально для автоматизации админок).
🔹 Стабильность. Трассировка ошибок, логирование и метрики качества.
Стартуй сейчас! Доступ к материалам сразу после покупки.
🎟 ПромокодAgent — скидка 10 000 ₽ (до 28 февраля).
👉 Прокачать проект AI-фичами
PHP отлично справляется с вебом, но для AI-фич нужна правильная архитектура. Мы обновили курс «Разработка AI-агентов», чтобы вы могли внедрять умные функции в реальные проекты, а не просто играться с API.
Прагматичный подход:
🔹 Инжиниринг. Как управлять токенами, кэшем и не разориться на API.
🔹 Advanced RAG. Умный поиск по вашим базам данных и документам (даже если они «грязные»).
🔹 Legacy. Модуль по управлению старыми интерфейсами через браузер (актуально для автоматизации админок).
🔹 Стабильность. Трассировка ошибок, логирование и метрики качества.
Стартуй сейчас! Доступ к материалам сразу после покупки.
🎟 Промокод
👉 Прокачать проект AI-фичами