介紹
Hyperf 是基于 Swoole 4.4+ 實(shí)現(xiàn)的高性能、高靈活性的 PHP 協(xié)程框架,內(nèi)置協(xié)程服務(wù)器及大量常用的組件,性能較傳統(tǒng)基于 PHP-FPM 的框架有質(zhì)的提升,提供超高性能的同時(shí),也保持著極其靈活的可擴(kuò)展性,標(biāo)準(zhǔn)組件均基于 PSR 標(biāo)準(zhǔn) 實(shí)現(xiàn),基于強(qiáng)大的依賴注入設(shè)計(jì),保證了絕大部分組件或類都是 可替換 與 可復(fù)用 的。
框架組件庫除了常見的協(xié)程版的 MySQL 客戶端、Redis 客戶端,還為您準(zhǔn)備了協(xié)程版的 Eloquent ORM、WebSocket 服務(wù)端及客戶端、JSON RPC 服務(wù)端及客戶端、GRPC 服務(wù)端及客戶端、Zipkin/Jaeger (OpenTracing) 客戶端、Guzzle HTTP 客戶端、Elasticsearch 客戶端、Consul 客戶端、ETCD 客戶端、AMQP 組件、Apollo 配置中心、阿里云 ACM 應(yīng)用配置管理、ETCD 配置中心、基于令牌桶算法的限流器、通用連接池、熔斷器、Swagger 文檔生成、Swoole Tracker、視圖引擎、Snowflake 全局 ID 生成器 等組件,省去了自己實(shí)現(xiàn)對(duì)應(yīng)協(xié)程版本的麻煩。
Hyperf 還提供了 基于 PSR-11 的依賴注入容器、注解、AOP 面向切面編程、基于 PSR-15 的中間件、自定義進(jìn)程、基于 PSR-14 的事件管理器、Redis/RabbitMQ 消息隊(duì)列、自動(dòng)模型緩存、基于 PSR-16 的緩存、Crontab 秒級(jí)定時(shí)任務(wù)、國際化、Validation 表單驗(yàn)證器 等非常便捷的功能,滿足豐富的技術(shù)場景和業(yè)務(wù)場景,開箱即用。
框架初衷
盡管現(xiàn)在基于 PHP 語言開發(fā)的框架處于一個(gè)百家爭鳴的時(shí)代,但仍舊未能看到一個(gè)優(yōu)雅的設(shè)計(jì)與超高性能的共存的完美框架,亦沒有看到一個(gè)真正為 PHP 微服務(wù)鋪路的框架,此為 Hyperf 及其團(tuán)隊(duì)成員的初衷,我們將持續(xù)投入并為此付出努力,也歡迎你加入我們參與開源建設(shè)。
設(shè)計(jì)理念
Hyperspeed + Flexibility = Hyperf,從名字上我們就將 超高速 和 靈活性 作為 Hyperf 的基因。
- 對(duì)于超高速,我們基于 Swoole 協(xié)程并在框架設(shè)計(jì)上進(jìn)行大量的優(yōu)化以確保超高性能的輸出。
- 對(duì)于靈活性,我們基于 Hyperf 強(qiáng)大的依賴注入組件,組件均基于 PSR 標(biāo)準(zhǔn) 的契約和由 Hyperf 定義的契約實(shí)現(xiàn),達(dá)到框架內(nèi)的絕大部分的組件或類都是可替換的。
基于以上的特點(diǎn),Hyperf 將存在豐富的可能性,如實(shí)現(xiàn) Web 服務(wù),網(wǎng)關(guān)服務(wù),分布式中間件,微服務(wù)架構(gòu),游戲服務(wù)器,物聯(lián)網(wǎng)(IOT)等。
除此之外,hyperf 是swoft開發(fā)組中的幾位的成員出來開發(fā)的一個(gè)框架,也是擁有了swoft優(yōu)秀的基因基礎(chǔ)上,不再強(qiáng)制注釋,集成大量企業(yè)級(jí)開發(fā)的組件,完善豐富的文檔,完善的項(xiàng)目測試用例,框架作者每周一更新,開發(fā)組還移植了非常多豐富的組件到hyperf中,比如說laravelorm,可以在hyperf中使用,還有分布式,微服務(wù),大數(shù)據(jù),集群部署相關(guān)的內(nèi)容Docker Swarm 集群搭建等等非常多的組件,hyperf的入門難度是有的,環(huán)境的部署最好使用docker,對(duì)于初學(xué)的小白來說,需要花費(fèi)一些時(shí)間進(jìn)行研究學(xué)習(xí),對(duì)于團(tuán)隊(duì)的接受需要花費(fèi)時(shí)間進(jìn)行學(xué)習(xí)和消化,大型的集群項(xiàng)目相對(duì)來說比較適合hyperf。