hyperf/docs/zh-tw
黄朝晖 9dc74e4525
Merge pull request #1993 from bob-yangpf/bob-yangpf-v2
docs(contribute): update pull request url
2020-06-27 03:07:22 +08:00
..
component-guide Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
db Merge remote-tracking branch 'origin/master' into 2.0 2020-06-19 19:10:12 +08:00
imgs Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
middleware Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
quick-start remove ./ 2020-06-25 10:54:10 +08:00
sdks Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
tutorial Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
upgrade Update 2.0.md (#1958) 2020-06-23 11:47:44 +08:00
amqp.md Merge remote-tracking branch 'origin/master' into 2.0 2020-06-19 19:10:12 +08:00
annotation.md Update 2.0.md (#1958) 2020-06-23 11:47:44 +08:00
aop.md Update 2020-06-22 00:37:40 +08:00
async-queue.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
awesome-components.md Updated 2020-06-22 11:20:16 +08:00
cache.md Merge remote-tracking branch 'origin/master' into 2.0 2020-06-19 19:10:12 +08:00
changelog.md Update 2020-06-22 00:37:40 +08:00
circuit-breaker.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
command.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
communication.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
config-center.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
config.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
constants.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
consul.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
contribute.md docs(contribute): update pull request url 2020-06-26 19:20:17 +08:00
controller.md Merge remote-tracking branch 'origin/master' into 2.0 2020-06-19 19:10:12 +08:00
coroutine.md Updated 2020-06-22 11:20:16 +08:00
crontab.md Merge remote-tracking branch 'origin/master' into 2.0 2020-06-19 19:10:12 +08:00
devtool.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
di.md Updated 2020-06-22 11:20:16 +08:00
donate.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
elasticsearch.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
etcd.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
event.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
exception-handler.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
filesystem.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
graphql.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
grpc.md Translate 2020-06-20 15:58:57 +08:00
guzzle.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
json-rpc.md fix typo 2020-06-20 19:55:30 +08:00
lifecycle.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
logger.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
memory.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
metric.md fix docs link 2020-06-22 09:47:30 +08:00
microservice.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
nano.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
nats.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
nsq.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
paginator.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
pool.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
process.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
rate-limit.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
reactive-x.md Translate 2020-06-20 15:58:57 +08:00
README.md Update 2020-06-22 10:14:19 +08:00
redis.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
release-planning.md fix docs link 2020-06-22 09:47:30 +08:00
request.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
response.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
retry.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
router.md remove ./ 2020-06-25 10:54:10 +08:00
service-register.md remove ./ 2020-06-25 10:54:10 +08:00
session.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
signal.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
snowflake.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
socketio-server.md Updated 2020-06-21 21:36:55 +08:00
summary.md Updated 2020-06-21 21:36:55 +08:00
swoole-tracker.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
task.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
testing.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
tracer.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
translation.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
utils.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
validation.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
versions.md Merge remote-tracking branch 'origin/master' into 2.0 2020-06-19 19:10:12 +08:00
view.md Merge remote-tracking branch 'origin/master' into 2.0 2020-06-19 19:10:12 +08:00
websocket-client.md Do not separate the docs folders by version, use git branch to distinguish the difference versions docs 2020-06-11 13:55:15 +08:00
websocket-server.md Merge remote-tracking branch 'origin/master' into 2.0 2020-06-19 19:10:12 +08:00

2.0 介紹

Hyperf 是基於 Swoole 4.5+ 實現的高效能、高靈活性的 PHP 協程框架,內建協程伺服器及大量常用的元件,效能較傳統基於 PHP-FPM 的框架有質的提升,提供超高效能的同時,也保持著極其靈活的可擴充套件性,標準組件均基於 PSR 標準 實現,基於強大的依賴注入設計,保證了絕大部分元件或類都是 可替換可複用 的。

框架元件庫除了常見的協程版的 MySQL 客戶端Redis 客戶端,還為您準備了協程版的 Eloquent ORMWebSocket 服務端及客戶端JSON RPC 服務端及客戶端GRPC 服務端及客戶端Zipkin/Jaeger (OpenTracing) 客戶端Guzzle HTTP 客戶端Elasticsearch 客戶端Consul 客戶端ETCD 客戶端AMQP 元件Apollo 配置中心阿里雲 ACM 應用配置管理ETCD 配置中心基於令牌桶演算法的限流器通用連線池熔斷器Swagger 文件生成Swoole Tracker檢視引擎Snowflake 全域性 ID 生成器 等元件,省去了自己實現對應協程版本的麻煩。

Hyperf 還提供了 基於 PSR-11 的依賴注入容器註解AOP 面向切面程式設計基於 PSR-15 的中介軟體自定義程序基於 PSR-14 的事件管理器Redis/RabbitMQ 訊息佇列自動模型快取基於 PSR-16 的快取Crontab 秒級定時任務國際化Validation 表單驗證器 等非常便捷的功能,滿足豐富的技術場景和業務場景,開箱即用。

框架初衷

儘管現在基於 PHP 語言開發的框架處於一個百家爭鳴的時代,但仍舊未能看到一個優雅的設計與超高效能的共存的完美框架,亦沒有看到一個真正為 PHP 微服務鋪路的框架,此為 Hyperf 及其團隊成員的初衷,我們將持續投入併為此付出努力,也歡迎你加入我們參與開源建設。

設計理念

Hyperspeed + Flexibility = Hyperf,從名字上我們就將 超高速靈活性 作為 Hyperf 的基因。

  • 對於超高速,我們基於 Swoole 協程並在框架設計上進行大量的優化以確保超高效能的輸出。
  • 對於靈活性,我們基於 Hyperf 強大的依賴注入元件,元件均基於 PSR 標準 的契約和由 Hyperf 定義的契約實現,達到框架內的絕大部分的元件或類都是可替換的。

基於以上的特點Hyperf 將存在豐富的可能性,如實現 Web 服務閘道器服務分散式中介軟體微服務架構遊戲伺服器物聯網IOT等。

生產可用

我們為元件進行了大量的單元測試以保證邏輯的正確,同時維護了高質量的文件,在 Hyperf 正式對外開放之前,便已經過了嚴酷的生產環境的考驗,我們才正式的對外開放該專案,至今,已有很多的大型/中小型網際網路公司在生產環境使用 Hyperf。