{"repo":"Luracast/Restler","free":true,"listed":false,"github":"https://github.com/Luracast/Restler","clone":"git clone https://github.com/Luracast/Restler.git","description":"Zero-boilerplate REST API framework for PHP 8+. Auto-generates routes, docs, validation.","language":"PHP","stars":1382,"topics":["restler","php","phpdoc-comments","html-format","php-fpm","composer","json-format","jsonp","async","framework"],"license":null,"category":"saas-starters-boilerplates","readme_excerpt":"Restler v6 Write your API logic in PHP. Get routing, validation, and OpenAPI docs—automatically. Production-ready since 2010. Battle-tested. Now rebuilt for modern PHP 8+ with async superpowers. That's it. You just created a REST API that: - ✅ Automatically validates $id as an integer - ✅ Returns JSON by default - ✅ Handles routing ( GET /products/123 ) - ✅ Generates OpenAPI/Swagger docs - ✅ Provides proper HTTP status codes - ✅ Supports content negotiation (configure other formats as needed) No controllers. No routing files. No configuration. Just PHP. --- Why Restler in 2025? 🎯 Zero Boilerplate While other frameworks make you write controllers, routes, DTOs, validation rules, and transformers—Restler uses PHP reflection to do it all automatically. Write business logic, not plumbing. ⚡ Async Performance Run on Swoole/OpenSwoole for 10-20x throughput vs traditional PHP-FPM. Or use ReactPHP for true async I/O. Deploy to AWS Lambda for serverless scale. 🌐 Multi-Format Output JSON is the default format. Configure additional formats (XML, CSV, Excel, HTML) via Routes::setOverridingResponseMediaTypes() . Perfect for: - Mobile apps → JSON (default) - Legacy systems → XML - Data exports → CSV/Excel - Admin panels → HTML with Blade/Twig 🚀 Modern PHP 8+ Built for PHP 8 with attributes, union types, named arguments, and strict typing. PSR-7 and PSR-11 compliant. 📚 Auto-Generated Docs OpenAPI 3.0 (Swagger) docs generated from your PHPDoc comments. Interactive API explorer included. ","default_branch":null,"files":null,"tree":[],"storefront":"/r/Luracast","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Luracast/Restler/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}