A REST-like PHP micro-framework for building flexible, versioned APIs with HATEOAS support.
Phprest is a REST-like PHP micro-framework for building flexible and versioned APIs. It provides essential components like routing, serialization, and error handling while allowing developers to define their own application architecture. The framework focuses on modern API standards, including HATEOAS and content negotiation.
PHP developers building RESTful APIs who need a lightweight, unopinionated foundation with built-in support for versioning, HATEOAS, and serialization.
Developers choose Phprest for its minimalistic approach, flexibility in architecture design, and integration of robust libraries like League components and JMS Serializer for professional API development.
REST-like PHP micro-framework.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Handles versioning automatically via Accept headers with content negotiation, simplifying route management for multi-version APIs as detailed in the API versioning section.
Uses Willdurand/Hateoas for automatic hypermedia linking in responses, adhering to REST constraints and enabling self-descriptive APIs as shown in serialization examples.
Supports StackPHP-compatible middleware registration, allowing custom integration like JWT authentication for enhanced control over request handling.
Leverages League/BooBoo for structured error responses with JSON/XML negotiation, ensuring consistent API error formats across different clients.
Essential features like validation, ORM, and request filtering are in separate service repositories, requiring additional setup and integration efforts beyond the core framework.
Demands manual assembly of components and services, such as logging handlers and dependency injection, which can be time-consuming compared to more opinionated frameworks.
Lacks out-of-the-box solutions for common tasks like database operations or authentication, relying on external packages that may introduce compatibility issues.