What is SiroPHP?▼
SiroPHP is a lightweight PHP API framework built for rapid development and instant debugging. It features minimal dependencies, CRUD scaffolding, full request tracing, and one-command production bug replay.
How is SiroPHP different from Laravel?▼
SiroPHP has minimal dependencies vs Laravel's ~200 packages, ~0.5ms cold boot (Linux) vs 60-101ms, and ~4MB+ RAM vs ~84MB. It focuses on pure API development with built-in debugging workflow — no Blade, no asset compiling, no service providers.
How do I install SiroPHP?▼
Run "composer create-project sirosoft/api my-app" for a full project skeleton, or "composer require sirosoft/core" to add the framework engine to an existing project.
How do I build APIs fast with SiroPHP?▼
Use "php siro make:crud products" to generate full CRUD endpoints with model, migration, controller, routes, and tests in 2 seconds. Then run "php siro serve" to start the dev server.
How does production debugging work?▼
Every response includes an X-Siro-Trace-Id header. Use "php siro replay <trace_id>" to reproduce the exact request, complete with headers, body, SQL queries, and timing.
Is SiroPHP production ready?▼
Yes. 19,496 tests with 100% pass rate, security audited (42 attack vectors, 0 vulnerabilities), and features like JWT auth, rate limiting, CSRF protection, brute force protection, env 5-tier chain, FrankenPHP support, and log sanitization.
What databases does SiroPHP support?▼
MySQL, PostgreSQL, and SQLite. The Schema Builder generates driver-agnostic migrations — write once, run on any database.
Do I need to install PHP extensions?▼
SiroPHP requires PHP 8.2+ with PDO, JSON, Mbstring, OpenSSL, and cURL extensions. These are common and usually pre-installed.
Can I migrate from SiroPHP to Laravel later?▼
Yes. SiroPHP's patterns are Laravel-compatible: Models, QueryBuilder, Validation, Routes, and Middleware all follow similar conventions. Migration is straightforward without a full rewrite.
Does SiroPHP have authentication built in?▼
Yes. "php siro make:auth" generates a complete JWT authentication system with register, login, logout, refresh tokens, email verification, and forgot/reset password.
Can I generate API documentation automatically?▼
Yes. "php siro make:openapi" generates OpenAPI/Swagger documentation from your validation rules. "php siro make:postman" generates a Postman collection.
Is SiroPHP suitable for serverless deployment?▼
Yes. With ~0.5ms cold boot (Linux+OPcache) and ~4MB+ memory usage, SiroPHP is ideal for serverless platforms like AWS Lambda, Vercel, and Laravel Vapor.
What is .env.local and how does env priority work?▼
SiroPHP uses a 5-tier environment priority chain: .env.local (highest) → .env.siro → .env.{environment} → .env → defaults. This allows safe local overrides without affecting team configs or production.
Does SiroPHP support FrankenPHP?▼
Yes. SiroPHP includes official Docker images with FrankenPHP for production deployment. FrankenPHP provides better performance than traditional PHP-FPM with automatic HTTPS, early hints, and real-time capabilities.
How does regression testing work with SiroPHP?▼
Run "php siro test:regression --limit=50" to replay all recorded traces and automatically detect changes in status codes, response structure, or success rates. Use --fail to exit non-zero on any regression (CI-friendly). This ensures your fix doesn't break existing behavior.
Can I create tests from real production bugs?▼
Yes. After replaying a bug with "php siro replay <trace_id> --test", SiroPHP auto-generates a PHPUnit test file from the actual production trace. This creates a permanent regression test for that bug — so it never comes back. Run "php siro make:test --from-trace=<id>" to do this from any trace.