easyswoole - 基于swoole扩展实现的一款高性能php框架

mainServerCreate 事件(即主服務創建事件)

函數原型

/**
 * @param \EasySwoole\EasySwoole\Swoole\EventRegister $register
 */
public static function mainServerCreate(EventRegister $register)
{

}

已完成工作

在執行主服務創建事件時,框架此時已經完成的工作有:

  • bootstrap/initialize 事件加載完成
  • SwooleServer 創建成功
  • SwooleServer 注冊了默認的 onRequest/onWorkerStart/onWorkerStop/onWorkerExit 事件。

開發者可進行的操作有:

  • 注冊主服務回調事件
  • 添加子服務監聽
  • SwooleTable/Atomic
  • 創建自定義進程
  • 啟用前(在 mainServerCreate 事件中)調用協程 API

注冊主服務回調事件

例如:為主服務注冊 onWorkerStart 回調事件:

/** @var \EasySwoole\EasySwoole\Swoole\EventRegister $register **/
$register->add($register::onWorkerStart, function (\Swoole\Server $server,int $workerId){
     var_dump($workerId . 'start');
});

例如:為主服務增加 onMessage 回調事件(前提是主服務類型為 WebSocket 服務):

// 給 server 注冊相關事件,在 WebSocket 服務模式下 message 事件必須注冊 
/** @var \EasySwoole\EasySwoole\Swoole\EventRegister $register **/
$register->set($register::onMessage,function (\Swoole\WebSocket\Server $server, \Swoole\WebSocket\Frame $frame){

});

set 方法和 add 方法是不同的, set 將會覆蓋之前配置的事件回調, 而 add 是增加一個新的回調。

添加子服務監聽

例如:添加一個 tcp 子服務監聽

/** @var \Swoole\Server\Port $subPort **/
$subPort = \EasySwoole\EasySwoole\ServerManager::getInstance()->getSwooleServer()->addListener('0.0.0.0', 9503, SWOOLE_TCP);
$subPort->on('receive', function (\Swoole\Server $server, int $fd, int $reactor_id, string $data){
    var_dump($data);
});
// 配置 具體查看 Swoole 文檔
$subPort->set([

]);

具體可參考 TCP

Table && Atomic

具體調用方式請看具體章節:

Table

Atomic

創建自定義進程

具體詳細操作可到 基礎使用 -> 自定義進程中查看

\EasySwoole\Component\Process\Manager::getInstance()->addProcess(new Test('test_process'));

TestEasySwoole\Component\Process\AbstractProcess 抽象類的子類

啟用前(在 mainServerCreate 事件中)調用協程 API

開發者在 EasySwoole 主服務啟動前調用協程 api,必須使用如下操作:

$scheduler = new \Swoole\Coroutine\Scheduler();
$scheduler->add(function() {
    /* 調用協程API */
});
$scheduler->start();
// 清除全部定時器
\Swoole\Timer::clearAll();
主站蜘蛛池模板: 上海增晨贸易有限公司-PC端| 郑州空调维修_郑州中央空调维修_空调清洗维保-郑州大晟机电设备安装工程有限公司 | 精密齿轮,同步带轮,蜗轮,蜗杆,减速机齿轮,行星齿轮-和兴齿轮 | 猪粪烘干机|小型鸡粪烘干机|猪粪烘干机价格|小型鸡粪烘干机价格 - 河南宏科重工干燥机设备生产厂家 | 浙江健朗-舒华跑步机|公园运动器材|商用健身设备|户外健身器材厂家 | 山西配电柜,高低压成套柜,太原高低压柜,山西开关柜,箱变壳体_山西雷隆电柜电气设备有限公司 | 随州网站建设_随州建站公司_随州SEO优化排名_随州网络公司-随州市金思维网络科技有限公司 | 生物柴油_油酸甲酯厂家_脂肪酸甲酯_植物油燃料-中凯化工 | 儒亚科技_磁悬浮天平,竞争吸附,高压热重,重量法高压,高压密度 | 泰州光明会计师事务所有限公司-财务业务审计,会计服务业务及资产评估业务的专业服务机构 | 语音芯片_蓝牙芯片_ble数传芯片_蓝牙数传模块厂家_拓达半导体-蓝牙数传芯片模块原厂 | 小鼠实验(试验)用臭氧发生器_进口臭氧发生器 - 北京同林臭氧实验网 | 深圳家具网-家具展会-家具检测-家具品牌—深圳市家具行业协会官网 | 新洲际教育-一站式留学解决方案领航者【官网】 | 紫铜箔(带)导电胶带定做,定做紫铜箔(带)导电胶带厂家[价格]-艾飞敏铜箔 | 西安防静电地板_防静电地板厂家_防静电地板价格_OA网络地板_写字楼架空地板_机房墙板安装-红梅防静电地板厂家直销 | 京建鹏达_商用无烟烧烤设备多少钱|开店商用自助旋转烧烤炉价格|无烟电烧烤炉批发厂家|无烟烧烤桌定做厂商-京建鹏达烧烤设备网 | 雨量计,翻斗雨量计,声波雨量计i,时差法流量计,时差法明渠流量计 - 徐州伟思水务科技有限公司 | 济宁搬家公司_曲阜搬家_济宁金顺搬家电话 | 生物除臭塔_生物除臭箱_玻璃钢吸收塔_玻璃钢集气罩_-安丘恒业玻璃钢有限公司 | 合肥固化地坪-安徽耐磨地坪-合肥环氧地坪厂家-安徽玉平地坪工程有限公司 | 室内门十大品牌-生态木门厂家-室内门厂家 - 浙江威威工贸有限公司 | 树脂排水沟,树脂混凝土排水沟生产厂家-吉林省科维水泥制品公司 | 武汉不锈钢水箱厂家_武汉不锈钢消防水箱定做批发_武汉不锈钢消防水箱加工厂 | 上海乾乙智能科技有限公司官网 | 西安西雷脉冲功率技术有限公司-高压调制器/加速器与脉冲功率系统的研发/生产/应用推广/高压脉冲电源的应用研究/设计/生产和销售/高功率脉冲器件/材料与仪器设备的研发/生产和销售/高电压/大电流/强磁场环境的模拟及测试服务/会议会展服务/货物及进出口的业务/脉冲功率技术领域类的技术转让 | 品润财税_广州公司注册_南沙代理记账服务_危化证出口退税外国人工作签证代办 | 泊头市特种油泵阀制造有限公司 - 渣油泵,重油泵,沥青泵,高压齿轮泵,煤焦油泵,导热油泵,三螺杆泵,圆弧齿轮泵,不锈钢齿轮泵, | 吸音板_隔音板多少钱_降噪声学材料_环保阻燃防火_吸声装饰工程定制_厂家价格直供 - 佛山天阶声学材料厂 | 永磁耦合_重载永磁软起_能量回馈式调速器_磁力耦合器_江苏磁谷科技股份有限公司官方网站 | 世界地图,卫星地图,99地图网,微笑如歌 - www.99ditu.com | 混凝土砂石分离机_龙门洗车机_振动型砂石分离机 - 青州同辉环保机械 | 襄阳燃烧器厂家-低氮燃烧器价格-河北五通道燃烧器就找襄阳市胜合燃力设备有限公司一站式服务 | 深圳市佳顺优印印刷有限公司,佳顺优印,画册印刷,海报印刷,封套印刷,手提袋印刷,包装盒印刷,彩盒印刷,无碳纸印刷,不干胶印刷,信封印刷,便笺印刷,笔记本印刷,台历印刷,挂历印刷,国际会展中心附近印刷厂,宝安印刷厂,宝安教材印刷厂 | 新零售策划-全渠道策划-品牌营销全案策划-上海韬慧管理咨询有限公司 | 盐城市城镇化建设投资集团有限公司[盐城国资企业、盐城国资集团、盐城文化旅游、盐城基础设施、盐城土地开发、盐城粮食收储] | 噪声治理,消声器,隔声屏障,隔声罩,噪声控制,降噪,空调降噪,水泵噪声治理,冷却塔噪声治理-北京华清恒业环保设备有限公司 | 秦皇岛图成玻璃_横切机,琴键落板,堆垛机械手,玻璃钢化设备,掰边机,铺纸机,水平堆垛机+超大板堆垛机,纵掰纵分,下片机,冷端优化切割 | 唐山森林光线影视文化有限公司 | 正宗舌尖上的卤味卤菜卤肉卤水熟食的做法及配方大全网 | 中科先农农业(河北)智能设备有限责任公司 |