Hyperf é uma estrutura PHP CLI extremamente flexível e de alto desempenho, alimentada por um servidor de rotina de última geração e um grande número de componentes testados em batalha. Além de superar decisivamente os frameworks PHP-FPM em benchmarks, o Hyperf é único em seu foco em flexibilidade e composição. O Hyperf é fornecido com um injetor de dependência habilitado para AOP (programação orientada a aspectos) para garantir que componentes e classes sejam conectáveis e metaprogramáveis. Todos os componentes principais do Hyperf seguem estritamente os padrões PSR e podem ser usados em outras estruturas.
A arquitetura do Hyperf é construída usando uma combinação de Coroutines
, Dependency injection
, Events
, Annotations
e AOP
. Além de fornecer MySQL
, Redis
e outros clientes de corrotina comuns, Hyperf
também fornece versões compatíveis com corrotina 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. Portanto, os desenvolvedores podem evitar totalmente a implementação de versões compatíveis com corrotinas dessas bibliotecas.
Fique tranquilo, o Hyperf ainda é um framework PHP. O Hyperf fornece todos os pacotes que você espera: Middleware
, Event Manager
, Coroutine-optimized Eloquent ORM
(e Model Cache!), Translation
, Validation
, View engine (Blade/Smarty/Twig/Plates/ThinkTemplate)
e muito mais.
Embora existam muitos novos frameworks PHP, ainda não encontramos um framework que corresponda a um design elegante com desempenho ultra-alto, nem encontramos um framework que abra caminho para microsserviços PHP. Com esta visão em mente, continuaremos a investir no futuro desta estrutura, e você é bem-vindo para se juntar a nós na contribuição para o desenvolvimento de código aberto do Hyperf.
Hyperspeed + Flexibility = Hyperf
. A equação escondida em nosso nome demonstra a ambição fundadora da Hyperf.
Hipervelocidade: aproveitando as corrotinas Swoole
e Swow
, o Hyperf é capaz de lidar com grandes quantidades de tráfego. A equipe do Hyperf fez muitas otimizações na estrutura para eliminar todos os gargalos entre o usuário final e nosso mecanismo incrível.
Flexibilidade: Acreditamos que nosso componente de injeção de dependência é o melhor da categoria. Com a ajuda do Hyperf DI
, os componentes e classes são todos conectáveis e metaprogramáveis. Inversamente, todos os componentes do Hyperf devem ser compartilhados com o mundo. Nosso compromisso com os padrões PSR significa que você pode usar componentes Hyperf em qualquer estrutura compatível.
Por meio dessas características, o Hyperf descobriu o potencial inexplorado em muitos campos: implementação de servidores Web, servidores gateway, software de middleware distribuído, arquitetura de microsserviços, servidores de jogos e Internet das Coisas (IoT).
Linux, OS X ou Cygwin, WSL, Windows
PHP 8.1+
Swoole 5.0+ ou Swow 1.4+
Juntamente com a nossa documentação multilíngue bem mantida, um grande número de testes unitários para cada componente garantem a correção lógica. Antes de Hyperf
ser lançado ao público (20/06/2019), ele era usado de forma privada por algumas empresas de Internet de médio e grande porte para vários serviços, que funcionam sem incidentes há anos em ambientes de produção hostis.
Site oficial https://hyperf.io
Documentação https://hyperf.wiki
Se você descobrir uma vulnerabilidade de segurança no Hyperf, envie um e-mail para a equipe do Hyperf através de [email protected]. Todas as vulnerabilidades de segurança serão prontamente resolvidas.
Este projeto existe graças a todas as pessoas que contribuem. [Contribuir].
Torne-se um contribuidor financeiro e ajude-nos a sustentar nossa comunidade. [Contribuir]
Apoie este projeto com sua organização ou empresa. Seu logotipo aparecerá aqui com um link para seu site. [Contribuir]
comando: wrk -c 1024 -t 8 http://127.0.0.1:9501/
Executando o teste 10s @ http://127.0.0.1:9501/ 8 threads e 1024 conexões Estatísticas do tópico Avg Stdev Max +/- Stdevs Latência 10,08 ms 6,82 ms 56,66 ms 70,19% Necessidade/seg 13,17 mil 5,94 mil 33,06 mil 84,12% 1.049.478 solicitações em 10,10s, 190,16 MB readRequests/s: 1.03921,49 Transferência/s: 18,83 MB
Nano é uma distribuição Hyperf mínima, sem configuração e sem esqueleto, que permite construir rapidamente um aplicativo Hyperf com apenas um único arquivo PHP.
GoTask é uma biblioteca que gera um processo Go como um sidecar Swoole e estabelece um IPC bidirecional para descarregar tarefas pesadas para Go. Pense nisso como um Swoole Taskworker em Go.
Jet é um modelo de unificação RPC Client, protocolo JSONRPC integrado, disponível para execução em TODOS os ambientes PHP, incluindo ambientes PHP-FPM e Swoole/Hyperf.
A Box está comprometida em ajudar a melhorar a experiência de programação de aplicativos Hyperf, gerenciando o ambiente PHP e dependências relacionadas, fornecendo a capacidade de empacotar aplicativos Hyperf como programas binários e também fornecendo serviços de proxy reverso para gerenciar e implantar aplicativos Hyperf.
A estrutura Hyperf é um software de código aberto licenciado sob a licença MIT.