承接 kislayphp/eventbus 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

kislayphp/eventbus

最新稳定版本:0.0.3

Composer 安装命令:

pie install kislayphp/eventbus

包简介

High-performance C++ PHP extension providing realtime event protocol-compatible realtime communication for PHP microservices

README 文档

README

Compatibility transport package for the older Kislay realtime transport name.

kislayphp/eventbus remains published on the 0.0.x line so existing transport installs can continue to work. New transport work should start on kislayphp/socket.

Current Role

Use eventbus only when:

  • an existing service is already pinned to kislayphp/eventbus:0.0.3
  • existing code already imports Kislay\EventBus\Server or Kislay\EventBus\Socket
  • you want the lowest-risk migration path before moving code to Kislay\Socket\...

Use socket for new installs when you need:

  • realtime browser or service socket connections
  • Engine.IO polling and WebSocket upgrade
  • rooms and namespaces
  • per-client replies and room fanout

Installation

Compatibility install

pie install kislayphp/eventbus:0.0.3

Enable it in php.ini:

extension=kislayphp_eventbus.so

Forward install for new transport work

pie install kislayphp/socket:0.0.1

Minimal Compatibility Example

<?php

$server = new Kislay\EventBus\Server();

$server->on('connection', function (Kislay\EventBus\Socket $socket) {
    $socket->join('general');
    $socket->reply('connected', ['id' => $socket->id()]);
});

$server->on('chat', function (Kislay\EventBus\Socket $socket, array $payload) {
    $socket->emitTo('general', 'chat', [
        'from' => $socket->id(),
        'message' => $payload['message'] ?? '',
    ]);
});

$server->listen('0.0.0.0', 3000, '/socket.io/');

Public API

Kislay\EventBus\Server

  • on(string $event, callable $handler): bool
  • emit(string $event, mixed $data): bool
  • publish(string $event, mixed $data): bool
  • send(string $event, mixed $data): bool
  • emitTo(string $room, string $event, mixed $data): bool
  • listen(string $host, int $port, string $path): bool
  • clientCount(): int
  • roomCount(string $room): int
  • onAuth(callable $handler): bool
  • onWithAck(string $event, callable $handler): bool
  • getClients(): array
  • setMaxPayload(int $bytes): bool
  • namespace(string $ns): Kislay\EventBus\Namespace

Kislay\EventBus\Socket

  • id(): string
  • join(string $room): bool
  • leave(string $room): bool
  • emit(string $event, mixed $data): bool
  • publish(string $event, mixed $data): bool
  • send(string $event, mixed $data): bool
  • reply(string $event, mixed $data): bool
  • emitTo(string $room, string $event, mixed $data): bool

Semantics:

  • Server::emit() broadcasts to all connected clients.
  • Socket::emit() sends only to the current client.
  • Socket::reply() is the semantic alias for per-client emit.
  • Socket::emitTo() broadcasts to a room.

Legacy aliases under KislayPHP\EventBus\... remain available.

Positioning

Use eventbus only as the compatibility package during the 0.0.x transport split.

Use queue for:

  • background jobs
  • retries and DLQ
  • worker/server queue processing

Use socket for:

  • new realtime transport work
  • rooms and namespaces
  • polling and WebSocket upgrade
  • transport-facing docs and onboarding

Documentation

统计信息

  • 总下载量: 13
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 6
  • 依赖项目数: 0
  • 推荐数: 6

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: Shell

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2026-02-15

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固