Hyperf est un framework de coroutine PHP hautes performances et très flexible basé sur Swoole4.4+. Il possède un serveur de coroutine intégré et un grand nombre de composants couramment utilisés. Ses performances sont qualitativement améliorées par rapport au framework traditionnel basé sur PHP-. FPM, offrant des performances ultra élevées. En même temps, il maintient également une évolutivité extrêmement flexible. Les composants standard sont implémentés sur la base de la norme PSR et sont basés sur une conception d'injection de dépendances puissante, qui garantit que la plupart des composants ou classes sont remplaçables et réutilisables.
En plus de la version coroutine commune du client MySQL et du client Redis, la bibliothèque de composants du framework prépare également pour vous la version coroutine d'EloquentORM, du serveur et du client WebSocket, du serveur et du client JSONRPC, du serveur et du client GRPC, du client OpenTracing (Zipkin, Jaeger). , client GuzzleHTTP, client Elasticsearch, client Consul, client ETCD, composant AMQP, composant Nats, centre de configuration Apollo, ETCD, Zookeeper et Alibaba Cloud ACM, basé sur l'algorithme du bucket à jetons Limiteur de courant, pool de connexions universel, disjoncteur, génération de documents Swagger , SwooleTracker, Blade, Smarty, Twig, Plates et ThinkTemplate, le générateur d'ID global Snowflake, la surveillance Prometheus et d'autres composants, éliminant ainsi le besoin d'implémenter vous-même la version de coroutine correspondante.
Hyperf fournit également des conteneurs d'injection de dépendances basés sur PSR-11, des annotations, une programmation orientée aspect AOP, un middleware basé sur PSR-15, des processus personnalisés, des gestionnaires d'événements basés sur PSR-14, des files d'attente de messages Redis/RabbitMQ et une mise en cache automatique des modèles, PSR. -Mise en cache basée sur 16, tâches planifiées de deuxième niveau Crontab, session, internationalisation i18n, vérification du formulaire de validation et autres fonctions très pratiques pour répondre à une variété de scénarios techniques et de scénarios commerciaux, et peuvent être utilisées immédiatement.
Fonctionnalités HyperfIntention initiale du framework Bien que le framework développé sur la base du langage PHP soit aujourd'hui dans une ère d'épanouissement, nous n'avons toujours pas vu de framework parfait qui coexiste avec un design élégant et des performances ultra-hautes, ni de framework qui ouvre réellement la voie la voie aux microservices PHP, c'est l'intention initiale d'Hyperf et des membres de son équipe. Nous continuerons à investir et à travailler dur pour cela, et vous êtes invités à nous rejoindre et à participer à la construction open source.
conception
Hyperspeed+Flexibility=Hyperf, d'après le nom, nous considérons l'ultra-haute vitesse et la flexibilité comme les gènes d'Hyperf.
Pour l'ultra-haute vitesse, nous nous basons sur la coroutine Swoole et effectuons de nombreuses optimisations sur la conception du framework pour garantir une sortie ultra-haute performance.
Pour plus de flexibilité, nous nous basons sur les puissants composants d'injection de dépendances d'Hyperf. Les composants sont tous implémentés sur la base du contrat standard PSR et du contrat défini par Hyperf, de sorte que la plupart des composants ou classes du framework sont remplaçables.
Sur la base des caractéristiques ci-dessus, Hyperf disposera de riches possibilités, telles que la mise en œuvre de services Web uniques, de services API, de services de passerelle, de middleware distribué, d'architecture de microservices, de serveurs de jeux, d'Internet des objets (IOT), etc.
Documentation complète Nous avons investi beaucoup de temps dans la construction de documents pour fournir une expérience de documentation de haute qualité afin de résoudre divers problèmes causés par une documentation manquante. La documentation fournit également un grand nombre d'exemples, qui sont également conviviaux pour les novices.
Documentation officielle de développement Hyperf
La production est disponible. Nous avons effectué un grand nombre de tests unitaires pour les composants afin de garantir que la logique est correcte. Actuellement, il existe 1 342 tests uniques avec un total de 3 961 conditions d'assertion. Hyperf est un projet qui a subi des tests d'environnement de production difficiles. Actuellement, de nombreuses sociétés Internet à grande échelle ont déployé Hyperf dans leurs environnements de production et l'exécutent de manière stable.