Hyperf es un marco PHP CLI extremadamente eficaz y flexible, impulsado por un servidor de rutina de última generación y una gran cantidad de componentes probados en batalla. Además de superar decisivamente a los marcos PHP-FPM en los puntos de referencia, Hyperf es único en su enfoque en la flexibilidad y la composición. Hyperf se entrega con un inyector de dependencias que habilita AOP (programación orientada a aspectos) para garantizar que los componentes y las clases sean conectables y metaprogramables. Todos los componentes principales de Hyperf siguen estrictamente los estándares PSR y pueden usarse en otros marcos.
La arquitectura de Hyperf se construye utilizando una combinación de Coroutines
, Dependency injection
, Events
, Annotations
y AOP
. Además de proporcionar MySQL
, Redis
y otros clientes de rutinas comunes, Hyperf
también proporciona versiones compatibles con rutinas de 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
, etc. Por lo tanto, los desarrolladores pueden evitar por completo implementar versiones compatibles con corrutinas de estas bibliotecas.
Tenga la seguridad de que Hyperf sigue siendo un marco PHP. Hyperf proporciona todos los paquetes que espera: Middleware
, Event Manager
, Coroutine-optimized Eloquent ORM
(¡y Model Cache!), Translation
, Validation
, View engine (Blade/Smarty/Twig/Plates/ThinkTemplate)
y más.
Aunque hay muchos marcos PHP nuevos, todavía no hemos encontrado un marco que combine un diseño elegante con un rendimiento ultraalto, ni hemos encontrado un marco que allane el camino para los microservicios PHP. Con esta visión en mente, continuaremos invirtiendo en el futuro de este marco y le invitamos a unirse a nosotros para contribuir al desarrollo de código abierto de Hyperf.
Hyperspeed + Flexibility = Hyperf
. La ecuación escondida en nuestro nombre muestra la ambición fundacional de Hyperf.
Hipervelocidad: aprovechando las rutinas Swoole
y Swow
, Hyperf es capaz de manejar cantidades masivas de tráfico. El equipo de Hyperf realizó muchas optimizaciones en el marco para eliminar todos los cuellos de botella entre el usuario final y nuestro increíble motor.
Flexibilidad: Creemos que nuestro componente de inyección de dependencia es el mejor de su clase. Con la ayuda de Hyperf DI
, todos los componentes y clases son conectables y metaprogramables. A la inversa, todos los componentes de Hyperf están destinados a compartirse con el mundo. Nuestro compromiso con los estándares PSR significa que puede utilizar componentes Hyperf en cualquier marco compatible.
A través de estas características, Hyperf ha descubierto el potencial sin explotar en muchos campos: implementación de servidores web, servidores de puerta de enlace, software de middleware distribuido, arquitectura de microservicios, servidores de juegos e Internet de las cosas (IoT).
Linux, OS X o Cygwin, WSL, Windows
PHP 8.1+
Swoole 5.0+ o SWOW 1.4+
Además de nuestra documentación multilingüe bien mantenida, una gran cantidad de pruebas unitarias para cada componente garantizan la corrección lógica. Antes de que Hyperf
fuera lanzado al público (2019-06-20), algunas empresas medianas y grandes de Internet lo habían utilizado de forma privada para múltiples servicios, que han estado funcionando sin incidentes durante años en entornos de producción hostiles.
Sitio web oficial https://hyperf.io
Documentación https://hyperf.wiki
Si descubre una vulnerabilidad de seguridad dentro de Hyperf, envíe un correo electrónico al equipo de Hyperf a través de [email protected]. Todas las vulnerabilidades de seguridad se abordarán de inmediato.
Este proyecto existe gracias a todas las personas que contribuyen. [Contribuir].
Conviértase en un contribuyente financiero y ayúdenos a sostener nuestra comunidad. [Contribuir]
Apoya este proyecto con tu organización o empresa. Su logotipo aparecerá aquí con un enlace a su sitio web. [Contribuir]
comando: wrk -c 1024 -t 8 http://127.0.0.1:9501/
Ejecución de prueba de 10 @ http://127.0.0.1:9501/ 8 hilos y 1024 conexiones Estadísticas de subprocesos Avg Stdev Max +/- Stdevs Latencia 10,08 ms 6,82 ms 56,66 ms 70,19 % Solicitud/seg. 13,17 k 5,94 k 33,06 k 84,12 % 1049478 solicitudes en 10,10 s, 190,16 MB de solicitudes de lectura/seg: 103921,49 Transferencia/seg: 18,83 MB
Nano es una distribución Hyperf mínima, sin configuración y sin esqueleto que le permite crear rápidamente una aplicación Hyperf con un solo archivo PHP.
GoTask es una biblioteca que genera un proceso go como un sidecar Swoole y establece un IPC bidireccional para descargar tareas pesadas a Go. Piense en ello como un Swoole Taskworker en Go.
Jet es un cliente RPC de modelo de unificación, protocolo JSONRPC integrado, disponible para ejecutarse en TODOS los entornos PHP, incluidos los entornos PHP-FPM y Swoole/Hyperf.
Box se compromete a ayudar a mejorar la experiencia de programación de las aplicaciones Hyperf, administrando el entorno PHP y las dependencias relacionadas, brindando la capacidad de empaquetar aplicaciones Hyperf como programas binarios y también brindando servicios de proxy inverso para administrar e implementar aplicaciones Hyperf.
El marco Hyperf es un software de código abierto con licencia MIT.