Skip to content

Router API Reference

The router maps WebSocket events and HTTP routes declared with attributes on controllers.

Class: Sockeon\Sockeon\Core\Router

Method Summary

php
public function setServer(Server $server): void
public function register(SocketController $controller): void
public function dispatch(string $clientId, string $event, array $data): void
public function dispatchSpecialEvent(string $clientId, string $eventType): void
public function dispatchHttp(Request $request): mixed
public function getHttpRoutes(): array
public function getWebSocketRoutes(): array

Typical Usage

You normally do not instantiate or call the router directly. Server handles this when you register controllers.

php
$server = new Server($config);
$server->registerController(new ChatController());
$server->registerController(new ApiController());
$server->run();

Route Registration Behavior

When register() runs, Sockeon scans controller methods and maps:

  • #[SocketOn('event.name')] to WebSocket event routes
  • #[OnConnect] and #[OnDisconnect] to special lifecycle handlers
  • #[HttpRoute('METHOD', '/path')] to HTTP routes (with path parameters)

Introspection Helpers

getWebSocketRoutes() and getHttpRoutes() return internal route arrays used by the framework runtime.
These are useful for debugging tooling but are not intended as stable schema contracts.

See Also