VOOZH about

URL: https://fractal.thephpleague.com/

⇱ Fractal - Output complex, flexible, AJAX/RESTful data structures


πŸ‘ The League of Extraordinary Packages

Our Packages:

Introduction

πŸ‘ Author
πŸ‘ Source Code
πŸ‘ Latest Version
πŸ‘ Software License

πŸ‘ Build Status
πŸ‘ Coverage Status
πŸ‘ Quality Score
πŸ‘ Total Downloads

What is Fractal?

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.

Fractal on Packagist

Goals

  • Create a β€œbarrier” 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

Questions?

Fractal was created by Phil Sturgeon. Find him on Twitter at @philsturgeon. Fractal is maintained by Graham Daniels and Jason Lewis. They can be found on Twitter at @greydnls and @jasonclewis.