国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

【workbunny】協(xié)程基建

1.3.5 版本
2025-04-24 版本更新時(shí)間
557 安裝
73 star

Webman Coroutine Infrastructure Suite Compatible with Workerman.

Build StatusCodecovLatest Stable VersionPHP Version RequireLicense

計(jì)劃 & 說明

  1. 目前 workerman v5/webman 2.1官方均已支持協(xié)程,該插件會(huì)基于官方協(xié)程組件圍繞webman上層應(yīng)用功能進(jìn)行開發(fā)
  2. workbunny/webman-coroutine插件與官方協(xié)程插件workerman-php/coroutine可互聯(lián)使用
  3. 與官方協(xié)程組件workerman-php/coroutine區(qū)別如下:
    • workbunny/webman-coroutine除了Fiber、Swoole/Swow的支持外還支持Ripple事件驅(qū)動(dòng)
    • workbunny/webman-coroutine著重在協(xié)程睡眠和協(xié)程喚起上做了優(yōu)化,并附帶了一些協(xié)程管理調(diào)試相關(guān)的工具
    • workbunny/webman-coroutine兼容 workerman 4.x/webman 1.x

以上的一些差異點(diǎn)會(huì)在后續(xù)與官方協(xié)程組件保持兼容,并會(huì)在合適的時(shí)機(jī)合并至官方協(xié)程組件

簡(jiǎn)介

???? webman-coroutine 是一個(gè)支持 workerman / webman 開發(fā)框架生態(tài)下的協(xié)程基建支撐插件

起源

  • workerman 4.x 及基于其作為運(yùn)行容器的 webman 框架不支持協(xié)程
  • workerman 5.x 及基于其作為運(yùn)行容器的 webman 框架不具備完備的協(xié)程能力
  • workerman / webman 沒有一個(gè)較為統(tǒng)一的協(xié)程使用方式,導(dǎo)致切換協(xié)程驅(qū)動(dòng)的開發(fā)成本較高,試錯(cuò)成本較高
  • 自行實(shí)現(xiàn)協(xié)程版worker、server開發(fā)成本較高,試錯(cuò)成本較高

workbunny/webman-coroutine 插件誕生緣由及協(xié)程開發(fā)分享

目的

愿景

  1. workerman/webman 開發(fā)環(huán)境下,提供一套簡(jiǎn)單的協(xié)程工具包,降低認(rèn)知負(fù)荷。
  2. workerman/webman 開發(fā)環(huán)境下,嘗試實(shí)現(xiàn)一套兼容協(xié)程與非協(xié)程開發(fā)的方案,讓選擇和擺脫方案更簡(jiǎn)單,避免更多的焦慮。
  3. workerman/webman 開發(fā)環(huán)境下,盡可能實(shí)現(xiàn)對(duì)官方組件的無侵入式協(xié)程化改造(雖然很難,但也想試試)。
  4. 希望在代碼的實(shí)現(xiàn)上能夠給更多PHP開發(fā)帶來一些幫助,甚至靈感。

安裝

通過composer安裝

composer require workbunny/webman-coroutine

目錄

|-- config                       # webman 配置文件
    |-- plugin
        |-- webman-coroutine
            |-- app.php          # 主配置信息
            |-- process.php      # 啟動(dòng)進(jìn)程
|-- Events                       # workerman-4.x 事件驅(qū)動(dòng)文件
|-- Exceptions                   # 異常
|-- Handlers                     # 入口主驅(qū)動(dòng)
|-- Utils                        # 工具包
    |-- Channel                  # 通道 驅(qū)動(dòng)
    |-- Coroutine                # 協(xié)程 驅(qū)動(dòng)
    |-- WaitGroup                # wait group 驅(qū)動(dòng)
    |-- Worker                   # worker 驅(qū)動(dòng)
    |-- Pool                     # 對(duì)象池 驅(qū)動(dòng)
    |-- RegisterMethods.php      # 驅(qū)動(dòng)注冊(cè)助手
|-- Factory                      # 入口類
|-- CoroutineWebServer.php       # webman 自定義http服務(wù)
|-- helpers.php                  # 入口助手          

文檔

目錄 地址
API Fucntion-APIs
教程 PHP 協(xié)程入門
- 安裝及配置
- 助手函數(shù)
- workerman環(huán)境
- webman框架
- Utils說明
- 自定義拓展
- 協(xié)程的觀測(cè)和管理

參與開發(fā)

規(guī)范

  • 新特性提交請(qǐng)先提交feature-issue,再提交PR,避免重復(fù)開發(fā);
  • Bug修復(fù)請(qǐng)先提交bug-repo-issue,再提交PR,避免重復(fù)開發(fā);

工具

  • 代碼格式化:composer cs-fix
  • 靜態(tài)檢查:composer php-stan
  • 測(cè)試與覆蓋:composer unit-test,命令運(yùn)行后會(huì)在項(xiàng)目創(chuàng)建的coverage目錄下生成報(bào)告
  • function-apis文檔生成:
    • 使用composer doc-install或自行安裝phpDocumentor
    • 在項(xiàng)目根目錄使用phpDocumentor生成文檔

?? 相關(guān)文章

?? 致謝

??感恩 workerman 和 swow 開發(fā)團(tuán)隊(duì)為 PHP 社區(qū)帶來的創(chuàng)新和卓越貢獻(xiàn),讓我們共同期待 PHP 在實(shí)時(shí)應(yīng)用領(lǐng)域的更多突破?。。?/strong>

贊助商