fractal

Output complex, flexible, AJAX/RESTful data structures.

  • Owner: thephpleague/fractal
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Fractal

Latest Version
Software License
Build Status
Coverage Status
Quality Score
Total Downloads

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.

  • PHP 5.4
  • PHP 5.5
  • PHP 5.6
  • PHP 7.0
  • PHP 7.1
  • PHP 7.2
  • HHVM

Documentation

Fractal has full documentation, powered by Jekyll.

Contribute to this documentation in the gh-pages branch.

Todo

  • add HAL serializers

Testing

$ phpunit

Contributing

Please see CONTRIBUTING and CONDUCT for details.

Maintainers

Credits

License

The MIT License (MIT). Please see License File for more information.

Main metrics

Overview
Name With Ownerthephpleague/fractal
Primary LanguagePHP
Program languageRuby (Language Count: 2)
Platform
License:MIT License
所有者活动
Created At2013-11-26 23:26:43
Pushed At2025-02-14 21:36:46
Last Commit At2025-02-14 13:33:14
Release Count38
Last Release Name0.20.2 (Posted on )
First Release Name0.0.1 (Posted on )
用户参与
Stargazers Count3.5k
Watchers Count87
Fork Count347
Commits Count668
Has Issues Enabled
Issues Count291
Issue Open Count49
Pull Requests Count191
Pull Requests Open Count6
Pull Requests Close Count85
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private