websyspro / worker-server
Set of features in PHP for creating entitys for database
1.0.94
2026-11-02 20:34 UTC
Requires
- websyspro/arrowtosql: ^1.0
- websyspro/connection: ^1.0
- websyspro/devtools: ^1.0
- websyspro/entity: ^1.0
- websyspro/package: ^1.0
- websyspro/utils: ^1.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-main
- 1.0.94
- 1.0.93
- 1.0.92
- 1.0.91
- 1.0.89
- 1.0.88
- 1.0.87
- 1.0.86
- 1.0.85
- 1.0.84
- 1.0.83
- 1.0.82
- 1.0.81
- 1.0.80
- 1.0.79
- 1.0.78
- 1.0.77
- 1.0.76
- 1.0.75
- 1.0.74
- 1.0.73
- 1.0.72
- 1.0.71
- 1.0.70
- 1.0.69
- 1.0.68
- 1.0.67
- 1.0.66
- 1.0.65
- 1.0.64
- 1.0.63
- 1.0.62
- 1.0.61
- 1.0.60
- 1.0.59
- 1.0.58
- 1.0.57
- 1.0.56
- 1.0.55
- 1.0.54
- 1.0.53
- 1.0.52
- 1.0.51
- 1.0.50
- 1.0.49
- 1.0.48
- 1.0.47
- 1.0.46
- 1.0.45
- 1.0.44
- 1.0.43
- 1.0.42
- 1.0.41
- 1.0.40
- 1.0.39
- 1.0.38
- 1.0.37
- 1.0.36
- 1.0.35
- 1.0.34
- 1.0.33
- 1.0.32
- 1.0.31
- 1.0.30
- 1.0.29
- 1.0.28
- 1.0.27
- 1.0.26
- 1.0.25
- 1.0.24
- 1.0.23
- 1.0.22
- 1.0.21
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
This package is auto-updated.
Last update: 2026-11-02 20:34:59 UTC
README
Set of features for hot reloads during development and production-ready HTTP server with built-in middleware system.
Features
- 🚀 High-performance worker-based HTTP server
- 🔐 Extensible middleware system with PHP attributes
- 🔄 Hot reload support for development
- 📝 Automatic route registration from controllers
- 🎯 Dependency injection and parameter resolution
- 🛡️ Request sanitization and security
- 📊 Built-in logging system
- ⚡ Keep-alive connection support
- 🔌 Multi-process worker model (Linux/macOS) or single-process (Windows)
Middleware System
O Worker Server possui um sistema de middlewares extensível baseado em atributos PHP 8.
Como Funciona
- Crie um middleware estendendo a classe
Middleware - Implemente o método
execute()com sua lógica - Use como atributo em classes ou métodos de controller
- Middlewares são executados automaticamente na ordem: classe → método
Exemplo de Middleware Customizado
<?php use Websyspro\WorkerServer\Middleware; use Websyspro\WorkerServer\Request; use Websyspro\WorkerServer\Response; use Attribute; #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD)] class RateLimitMiddleware extends Middleware { public function execute(Request $request, callable $next): Response|null { // Sua lógica de rate limiting aqui if ($this->isRateLimited($request)) { return Response::json([ "error" => "Too many requests" ], 429); } // Continua para o próximo middleware ou handler return $next($request); } }
Uso nos Controllers
#[Controller(prefix: "/api")] #[Authenticate] // Middleware de autenticação na classe class ApiController { #[Get("/users")] public function listUsers() { // Requer autenticação } #[Post("/login")] #[AllowAnonymous] // Sobrepõe o Authenticate public function login() { // Público - sem autenticação } }
Middleware Authenticate
O middleware Authenticate está incluído e valida Bearer tokens:
#[Controller(prefix: "/protected")] #[Authenticate] class ProtectedController { // Todos os endpoints requerem autenticação }
Middleware AllowAnonymous
Use AllowAnonymous para tornar endpoints públicos em controllers protegidos:
#[Authenticate] class AuthController { #[Post("/login")] #[AllowAnonymous] // Este endpoint é público public function login() {} }
Configuration
Configuration via .env file:
PORT=8080 API_VERSION=v1 KEEP_ALIVE_TIMEOUT=30 MAX_REQUESTS=1000
License
MIT