This project is inspired on the php-crud-api
The following features are supported:
- Single file, easy to deploy.
- Very little code, easy to adapt and maintain
- Supports POST variables as input (x-www-form-urlencoded)
- Supports a JSON object as input
- Supports a JSON array as input (batch insert)
- Sanitize and validate input using callbacks
- Permission system for databases, tables, columns and records
- Multi-tenant database layouts are supported
- Multi-domain CORS support for cross-domain requests
- Support for reading joined results from multiple tables
- Search support on multiple criteria
- Pagination, sorting, top N list and column selection
- Relation detection with nested results (belongsTo, hasMany and HABTM)
- Atomic increment support via PATCH (for counters)
- Binary fields supported with base64 encoding
- Spatial/GIS fields and filters supported with WKT and GeoJSON
- Generate API documentation using OpenAPI tools
- Authentication via JWT token or username/password
- Support for reading database structure in JSON
- Support for modifying database structure using REST endpoint
- Security enhancing middleware is included
- Standard compliant: PSR-2, PSR-4, PSR-7, PSR-15 and PSR-17