Hyperf ist ein äußerst leistungsfähiges und flexibles PHP-CLI-Framework, das auf einem hochmodernen Coroutine-Server und einer großen Anzahl kampferprobter Komponenten basiert. Abgesehen davon, dass es PHP-FPM-Frameworks in Benchmarks deutlich schlägt, ist Hyperf einzigartig in seinem Fokus auf Flexibilität und Zusammensetzung. Hyperf wird mit einem AOP-fähigen (aspektorientierten Programmierung) Abhängigkeitsinjektor ausgeliefert, um sicherzustellen, dass Komponenten und Klassen steckbar und metaprogrammierbar sind. Alle Kernkomponenten von Hyperf folgen strikt den PSR-Standards und können in anderen Frameworks verwendet werden.
Die Architektur von Hyperf basiert auf einer Kombination aus Coroutines
, Dependency injection
, Events
, Annotations
und AOP
. Neben der Bereitstellung MySQL
, Redis
und anderen gängigen Coroutine-Clients bietet Hyperf
auch Coroutine-kompatible Versionen von WebSocket server / client
, JSON RPC server / client
, gRPC server / client
, Zipkin/Jaeger (OpenTracing) client
, Guzzle HTTP client
und 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
usw. Daher können Entwickler die Implementierung von Coroutine-kompatiblen Versionen dieser Bibliotheken vollständig vermeiden.
Seien Sie versichert, Hyperf ist immer noch ein PHP-Framework. Hyperf bietet alle Pakete, die Sie erwarten: Middleware
, Event Manager
, Coroutine-optimized Eloquent ORM
(und Model Cache!), Translation
, Validation
, View engine (Blade/Smarty/Twig/Plates/ThinkTemplate)
und mehr.
Obwohl es viele neue PHP-Frameworks gibt, haben wir noch kein Framework gefunden, das ein elegantes Design mit ultrahoher Leistung verbindet, noch haben wir ein Framework gefunden, das den Weg für PHP-Microservices ebnet. Mit dieser Vision vor Augen werden wir weiterhin in die Zukunft dieses Frameworks investieren, und Sie sind herzlich eingeladen, gemeinsam mit uns zur Open-Source-Entwicklung von Hyperf beizutragen.
Hyperspeed + Flexibility = Hyperf
. Die in unserem Namen verborgene Gleichung verdeutlicht die Gründungsambitionen von Hyperf.
Hypergeschwindigkeit: Hyperf nutzt die Coroutinen Swoole
und Swow
und ist in der Lage, große Datenmengen zu bewältigen. Das Hyperf-Team hat viele Optimierungen am Framework vorgenommen, um jeden Engpass zwischen dem Endbenutzer und unserer leistungsstarken Engine zu beseitigen.
Flexibilität: Wir glauben, dass unsere Dependency-Injection-Komponente die beste ihrer Klasse ist. Mit Hilfe von Hyperf DI
sind alle Komponenten und Klassen steckbar und metaprogrammierbar. Umgekehrt sollen alle Hyperf-Komponenten mit der Welt geteilt werden. Unser Engagement für PSR-Standards bedeutet, dass Sie Hyperf-Komponenten in jedem kompatiblen Framework verwenden können.
Durch diese Eigenschaften hat Hyperf das ungenutzte Potenzial in vielen Bereichen entdeckt: Implementierung von Webservern, Gateway-Servern, verteilter Middleware-Software, Microservices-Architektur, Spieleservern und Internet der Dinge (IoT).
Linux, OS X oder Cygwin, WSL, Windows
PHP 8.1+
Swoole 5.0+ oder Swow 1.4+
Neben unserer gepflegten, mehrsprachigen Dokumentation sorgen zahlreiche Unit-Tests für jede Komponente für die logische Korrektheit. Bevor Hyperf
der Öffentlichkeit zugänglich gemacht wurde (20.06.2019), wurde es von einigen mittleren und großen Internetunternehmen privat für mehrere Dienste genutzt, die seit Jahren ohne Zwischenfälle in rauen Produktionsumgebungen laufen.
Offizielle Website https://hyperf.io
Dokumentation https://hyperf.wiki
Wenn Sie eine Sicherheitslücke in Hyperf entdecken, senden Sie bitte eine E-Mail an das Hyperf-Team über [email protected]. Alle Sicherheitslücken werden umgehend behoben.
Dieses Projekt existiert dank aller Menschen, die dazu beitragen. [Beitragen].
Werden Sie ein finanzieller Spender und helfen Sie uns, unsere Gemeinschaft zu erhalten. [Beitragen]
Unterstützen Sie dieses Projekt mit Ihrer Organisation oder Ihrem Unternehmen. Hier erscheint Ihr Logo mit einem Link zu Ihrer Website. [Beitragen]
Befehl: wrk -c 1024 -t 8 http://127.0.0.1:9501/
Ausführen eines 10-Sekunden-Tests unter http://127.0.0.1:9501/ 8 Threads und 1024 Verbindungen Thread-Statistiken Durchschn. Stdev Max. +/- Stdevs Latenz 10,08 ms 6,82 ms 56,66 ms 70,19 % Erforderlich/Sek. 13,17 Tsd. 5,94 Tsd. 33,06 Tsd. 84,12 % 1049478 Anfragen in 10,10 Sekunden, 190,16 MB Leseanfragen/Sek.: 103921,49 Übertragung/Sek.: 18,83 MB
Nano ist eine minimale Hyperf-Distribution ohne Konfiguration, ohne Skelett, mit der Sie schnell eine Hyperf-Anwendung mit nur einer einzigen PHP-Datei erstellen können.
GoTask ist eine Bibliothek, die einen Go-Prozess als Swoole-Sidecar erzeugt und einen bidirektionalen IPC einrichtet, um schwere Aufgaben an Go auszulagern. Betrachten Sie es als einen Swoole Taskworker in Go.
Jet ist ein RPC-Client mit Vereinheitlichungsmodell und integriertem JSONRPC-Protokoll, der in ALLEN PHP-Umgebungen ausgeführt werden kann, einschließlich PHP-FPM- und Swoole/Hyperf-Umgebungen.
Box engagiert sich dafür, die Programmiererfahrung von Hyperf-Anwendungen zu verbessern, die PHP-Umgebung und damit verbundene Abhängigkeiten zu verwalten, Hyperf-Anwendungen als Binärprogramme zu verpacken und auch Reverse-Proxy-Dienste für die Verwaltung und Bereitstellung von Hyperf-Anwendungen bereitzustellen.
Das Hyperf-Framework ist eine Open-Source-Software, die unter der MIT-Lizenz lizenziert ist.