You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fractal provides a presentation and transformation layer for complex data output, the like found in
RESTful APIs, and works really well with JSON. Think of this as a view layer for your JSON/YAML/etc.
When building an API it is common for people to just grab stuff from the database and pass it
to json_encode(). This might be passable for "trivial" APIs but if they are in use by the public,
or used by mobile applications then this will quickly lead to inconsistent output.
Goals
Create a protective shield between source data and output, so schema changes do not affect users
Systematic type-casting of data, to avoid foreach()ing through and (bool)ing everything
Include (a.k.a embedding, nesting or side-loading) relationships for complex data structures
Work with standards like HAL and JSON-API but also allow custom serialization
Support the pagination of data results, for small and large data sets alike
Generally ease the subtle complexities of outputting data in a non-trivial API
This package is compliant with PSR-1, PSR-2 and PSR-4. If you notice compliance oversights,
please send a patch via pull request.
Install
Via Composer
$ composer require league/fractal
Requirements
The following versions of PHP are supported by this version: