Hyperf — это чрезвычайно производительная и гибкая среда PHP CLI, оснащенная современным сервером сопрограмм и большим количеством проверенных в боевых условиях компонентов. Помимо решительного превосходства фреймворков PHP-FPM в тестах, Hyperf уникален тем, что уделяет особое внимание гибкости и композиции. Hyperf поставляется с инжектором зависимостей, поддерживающим АОП (аспектно-ориентированное программирование), чтобы гарантировать подключаемость и метапрограммируемость компонентов и классов. Все основные компоненты Hyperf строго соответствуют стандартам PSR и могут использоваться в других средах.
Архитектура Hyperf построена с использованием комбинации Coroutines
, Dependency injection
, Events
, Annotations
и AOP
. Помимо предоставления MySQL
, Redis
и других распространенных клиентов сопрограмм, Hyperf
также предоставляет совместимые с сопрограммами версии WebSocket server / client
, JSON RPC server / client
, gRPC server / client
, Zipkin/Jaeger (OpenTracing) client
, Guzzle HTTP client
, Elasticsearch client
, Consul client
, ETCD client
, AMQP component
, Apollo configuration center
, Aliyun ACM
, ETCD configuration center
, Token bucket algorithm-based limiter
, Universal connection pool
, Circuit breaker
, Swagger
, Snowflake
, Simply Redis MQ
, RabbitMQ
, NSQ
, Nats
, Seconds level crontab
, Custom Processes
и т. д. Таким образом, разработчики могут полностью избегать реализации совместимых с сопрограммами версий эти библиотеки.
Будьте уверены, Hyperf по-прежнему остается PHP-фреймворком. Hyperf предоставляет все ожидаемые пакеты: Middleware
, Event Manager
, Coroutine-optimized Eloquent ORM
(и кэш моделей!), Translation
, Validation
, View engine (Blade/Smarty/Twig/Plates/ThinkTemplate)
и многое другое.
Несмотря на то, что существует множество новых PHP-фреймворков, мы до сих пор не нашли ни фреймворка, который бы сочетал в себе элегантный дизайн и сверхвысокую производительность, ни фреймворк, который проложил бы путь для микросервисов PHP. Учитывая это видение, мы продолжим инвестировать в будущее этой платформы, и вы можете присоединиться к нам и внести свой вклад в разработку Hyperf с открытым исходным кодом.
Hyperspeed + Flexibility = Hyperf
. Уравнение, скрытое в нашем названии, демонстрирует основополагающие амбиции Hyperf.
Гиперскорость: используя сопрограммы Swoole
и Swow
, Hyperf способен обрабатывать огромные объемы трафика. Команда Hyperf внесла множество оптимизаций в структуру, чтобы устранить все узкие места между конечным пользователем и нашим блестящим движком.
Гибкость: мы считаем, что наш компонент внедрения зависимостей является лучшим в своем классе. С помощью Hyperf DI
все компоненты и классы являются подключаемыми и метапрограммируемыми. И наоборот, все компоненты Hyperf предназначены для совместного использования со всем миром. Наша приверженность стандартам PSR означает, что вы можете использовать компоненты Hyperf в любой совместимой среде.
Благодаря этим качествам Hyperf обнаружила неиспользованный потенциал во многих областях: внедрение веб-серверов, серверов шлюзов, распределенного промежуточного программного обеспечения, архитектуры микросервисов, игровых серверов и Интернета вещей (IoT).
Linux, OS X или Cygwin, WSL, Windows
PHP 8.1+
Swoole 5.0+ или Swow 1.4+
Наряду с нашей хорошо поддерживаемой многоязычной документацией большое количество модульных тестов для каждого компонента обеспечивает логическую корректность. До того, как Hyperf
был представлен публике (20 июня 2019 г.), он использовался в частном порядке некоторыми средними и крупными интернет-компаниями для различных сервисов, которые годами работали без происшествий в суровых производственных условиях.
Официальный сайт https://hyperf.io
Документация https://hyperf.wiki
Если вы обнаружите уязвимость безопасности в Hyperf, отправьте электронное письмо команде Hyperf по адресу [email protected]. Все уязвимости безопасности будут оперативно устранены.
Этот проект существует благодаря всем людям, которые вносят свой вклад. [Способствовать].
Станьте финансовым спонсором и помогите нам поддержать наше сообщество. [Способствовать]
Поддержите этот проект своей организацией или компанией. Здесь появится ваш логотип со ссылкой на ваш сайт. [Способствовать]
команда: wrk -c 1024 -t 8 http://127.0.0.1:9501/
Выполнение 10-секундного теста @ http://127.0.0.1:9501/ 8 потоков и 1024 соединения Статистика потоков Среднее стандартное отклонение Макс. +/- Стандартное отклонение Задержка 10,08 мс 6,82 мс 56,66 мс 70,19% Запрос/сек 13,17 тыс. 5,94 тыс. 33,06 тыс. 84,12% 1049478 запросов за 10,10 с, 190,16 МБ запросов на чтение/сек: 103921,49 Передача/сек: 18,83 МБ
Nano — это минимальный дистрибутив Hyperf без конфигурации, без скелета, который позволяет быстро создать приложение Hyperf с помощью всего лишь одного PHP-файла.
GoTask — это библиотека, которая запускает процесс Go в качестве дополнительного модуля Swoole и устанавливает двунаправленный IPC для разгрузки тяжелых задач на Go. Думайте об этом как о Swoole Taskworker в Go.
Jet — это модель унификации RPC-клиента со встроенным протоколом JSONRPC, доступная для работы во ВСЕХ средах PHP, включая среды PHP-FPM и Swoole/Hyperf.
Box стремится помочь улучшить процесс программирования приложений Hyperf, управлять средой PHP и связанными с ней зависимостями, предоставлять возможность упаковывать приложения Hyperf в виде двоичных программ, а также предоставлять услуги обратного прокси-сервера для управления и развертывания приложений Hyperf.
Платформа Hyperf — это программное обеспечение с открытым исходным кодом, лицензированное по лицензии MIT.